当前位置: 技术问答>linux和unix
HELP me,Bash问题集
来源: 互联网 发布时间:2015-04-13
本文导语: HELP me,Bash问题集 以下是小弟我在学习Bash编程时所遇到的一些问题,希望大侠们能给予回答,THANKS!!!! 1、 命令把变量从内存中删除是清空这个变量的值,还是把变量都删除了?? 2、 Set file1 file2 file3 Echo $$# Eval e...
HELP me,Bash问题集
以下是小弟我在学习Bash编程时所遇到的一些问题,希望大侠们能给予回答,THANKS!!!!
1、 命令把变量从内存中删除是清空这个变量的值,还是把变量都删除了??
2、 Set file1 file2 file3
Echo $$#
Eval echo $$#
具体解释运行结果?
3、 sleep 25& 这个命令是什么呀?25&是什么呀!
4、 Name=’awk –F ‘{print $1}’ database’详细解释
5、
Echo $(cal)
Echo “$(cal)”
6、 什么是扩展,请举例
7、 $(du/ |sort –n | sed –n ‘$p’)2> /dev/null 如果把括号去掉会怎么样?
8、 脚本中的菜单是什么呀!
9、 Bash交互与脚本的异同。
10、 Shell脚本(非交互模式下),寻找BASH_ENV和启动文件(.bashrc),
并给他们赋值那么交互模式下读不读BASH_env和.bashrc.
11、 BASH_env和.bashrc作用是什么,为什么脚本的运行离不开他们?
12、 元字符是什么?
13、 内建与内建混合的区别是什么,能不能给个例子?
14、 Find /-xdev –mtine $1 –size =$2解释?
15、 If expr “$number ” +0 >& /dev/null #+0是啥意思
16、 I/O重新定向和子Shell他俩之间有什么联系?
17、 能否给一个“文件的输入可以通过管道重新定向给一个循环”的例子。
18、 如何区分什么时候归“普通命令行解析”什么时候归eval管。
以下是小弟我在学习Bash编程时所遇到的一些问题,希望大侠们能给予回答,THANKS!!!!
1、 命令把变量从内存中删除是清空这个变量的值,还是把变量都删除了??
2、 Set file1 file2 file3
Echo $$#
Eval echo $$#
具体解释运行结果?
3、 sleep 25& 这个命令是什么呀?25&是什么呀!
4、 Name=’awk –F ‘{print $1}’ database’详细解释
5、
Echo $(cal)
Echo “$(cal)”
6、 什么是扩展,请举例
7、 $(du/ |sort –n | sed –n ‘$p’)2> /dev/null 如果把括号去掉会怎么样?
8、 脚本中的菜单是什么呀!
9、 Bash交互与脚本的异同。
10、 Shell脚本(非交互模式下),寻找BASH_ENV和启动文件(.bashrc),
并给他们赋值那么交互模式下读不读BASH_env和.bashrc.
11、 BASH_env和.bashrc作用是什么,为什么脚本的运行离不开他们?
12、 元字符是什么?
13、 内建与内建混合的区别是什么,能不能给个例子?
14、 Find /-xdev –mtine $1 –size =$2解释?
15、 If expr “$number ” +0 >& /dev/null #+0是啥意思
16、 I/O重新定向和子Shell他俩之间有什么联系?
17、 能否给一个“文件的输入可以通过管道重新定向给一个循环”的例子。
18、 如何区分什么时候归“普通命令行解析”什么时候归eval管。
|
yfish(烤咸鱼)不要那么不客气,你的回答不对,还说楼主瞎提问题?
1、删除了,是用unset。清空用var=。
2、此时$#是3,因为前边用了set命令。echo $$#就是echo '$'$#,结果为3。加上eval后,shell会二次解析命令行,即echo $3,所以要输出file3。
3、4、mengge(踏岸寻柳)说的对。
5、$(cal)加不加引号差远了,不加引号时,cal的结果会被shell作为多个参数传递给echo;加了引号后就成了一个参数了。
6、扩展就是对命令行里的通配符、变量等进行替换。
7、yfish(烤咸鱼)说的对。
8、不明白楼主要问的是什么?脚本里输出提示,等待用户输入选择就是菜单。
9、交互和脚本不一样,脚本相当于交互时使用的一个命令而已。或者楼主想知道的不是这个?
10、看bash的手册。
11、BASH_ENV用来初始化非交互shell,.bashrc用来初始化交互shell。
12、A character that, when unquoted, separates words. One of the following:
| & ; ( ) space tab
13、是说built-in的命令吗?就是shell直接执行的命令,不调用外部应用。
14、自己看
15、不说语法错误,加0是为了删除$number开头的0。比如number=000123,直接echo $number会输出000123,而echo `expr "$number" + 0`会输出123。
16、没关系。
17、例如:
lineno=1
cat $* |
while read line
do
echo "$lineno: $line"
lineno=$((lineno + 1))
done
18、eval只是让shell二次解析命令行。
1、删除了,是用unset。清空用var=。
2、此时$#是3,因为前边用了set命令。echo $$#就是echo '$'$#,结果为3。加上eval后,shell会二次解析命令行,即echo $3,所以要输出file3。
3、4、mengge(踏岸寻柳)说的对。
5、$(cal)加不加引号差远了,不加引号时,cal的结果会被shell作为多个参数传递给echo;加了引号后就成了一个参数了。
6、扩展就是对命令行里的通配符、变量等进行替换。
7、yfish(烤咸鱼)说的对。
8、不明白楼主要问的是什么?脚本里输出提示,等待用户输入选择就是菜单。
9、交互和脚本不一样,脚本相当于交互时使用的一个命令而已。或者楼主想知道的不是这个?
10、看bash的手册。
11、BASH_ENV用来初始化非交互shell,.bashrc用来初始化交互shell。
12、A character that, when unquoted, separates words. One of the following:
| & ; ( ) space tab
13、是说built-in的命令吗?就是shell直接执行的命令,不调用外部应用。
14、自己看
15、不说语法错误,加0是为了删除$number开头的0。比如number=000123,直接echo $number会输出000123,而echo `expr "$number" + 0`会输出123。
16、没关系。
17、例如:
lineno=1
cat $* |
while read line
do
echo "$lineno: $line"
lineno=$((lineno + 1))
done
18、eval只是让shell二次解析命令行。
|
感觉像是测试题目,比较有难度 :)
>>1、 命令把变量从内存中删除是清空这个变量的值,还是把变量都删除了??
用什么命令删除变量? unset?
>>2、 set file1 file2 file3
>>echo $$#
>>eval echo $$#
>> 具体解释运行结果?
符号 为转义字符: echo $$# 就是echo两部分,符号$和变量$#的内容,在此$#就是1(参数个数)
>>3、 sleep 25& 这个命令是什么呀?25&是什么呀!
就是睡眠25秒钟,符号&将命令 sleep 25 放在了后台
>>4、 Name=’awk –F ‘{print $1}’ database’详细解释
呵呵,这个是不是少了一些东西?
awk 的参数 -F 是要指定分割域的,如 awk -F: '{print $1}' /etc/passwd 打印所有用户名称。
>>1、 命令把变量从内存中删除是清空这个变量的值,还是把变量都删除了??
用什么命令删除变量? unset?
>>2、 set file1 file2 file3
>>echo $$#
>>eval echo $$#
>> 具体解释运行结果?
符号 为转义字符: echo $$# 就是echo两部分,符号$和变量$#的内容,在此$#就是1(参数个数)
>>3、 sleep 25& 这个命令是什么呀?25&是什么呀!
就是睡眠25秒钟,符号&将命令 sleep 25 放在了后台
>>4、 Name=’awk –F ‘{print $1}’ database’详细解释
呵呵,这个是不是少了一些东西?
awk 的参数 -F 是要指定分割域的,如 awk -F: '{print $1}' /etc/passwd 打印所有用户名称。
|
5、
Echo $(cal)
Echo “$(cal)”
没有区别
7、 $(du/ |sort –n | sed –n ‘$p’)2> /dev/null 如果把括号去掉会怎么样?
把$去掉
(du/ |sort –n | sed –n ‘$p’)2> /dev/null
没有括号 2> /dev/null 只对 sed 有用
14、 Find /-xdev –mtine $1 –size =$2解释?
==>find -xdev -mtime $1 -size =$2
自己man 一下
15、 If expr “$number ” +0 >& /dev/null #+0是啥意思
严重语法错误
建议搂主不要瞎提问题
Echo $(cal)
Echo “$(cal)”
没有区别
7、 $(du/ |sort –n | sed –n ‘$p’)2> /dev/null 如果把括号去掉会怎么样?
把$去掉
(du/ |sort –n | sed –n ‘$p’)2> /dev/null
没有括号 2> /dev/null 只对 sed 有用
14、 Find /-xdev –mtine $1 –size =$2解释?
==>find -xdev -mtime $1 -size =$2
自己man 一下
15、 If expr “$number ” +0 >& /dev/null #+0是啥意思
严重语法错误
建议搂主不要瞎提问题