当前位置: 技术问答>linux和unix
帮我分析几个脚本程序
来源: 互联网 发布时间:2016-04-29
本文导语: #!/bin/sh # case "$1" in start) echo start ;; stop) echo stop ;; restart) echo stop echo start ;; *) echo $"Usage: $0 {start|stop|restart}" 这句输出表示的是什么意思啊? 第一个$是干嘛用的?双引号里面的$0...
#!/bin/sh
#
case "$1" in
start)
echo start
;;
stop)
echo stop
;;
restart)
echo stop
echo start
;;
*)
echo $"Usage: $0 {start|stop|restart}" 这句输出表示的是什么意思啊? 第一个$是干嘛用的?双引号里面的$0又是做什么用的?
exit 1
esac
#!/bin/sh
AB=`pwd`
echo "$AB"
read AC
for AA in `ls /etc`
do
file /etc/$AA 这里的file的作用?还有AC的值到哪去了?
done
#!/bin/sh
#fa filename
cd "$1"
for FN in `ls`
do
if [ -d "$1/$FN" ];then
echo "Directory: $1/$FN"
/root/fa "$1/$FN" 这句的作用?
fi
if [ -f "$FN" ]
then
echo "File: "`pwd`"/"${FN}
fi
done
#
case "$1" in
start)
echo start
;;
stop)
echo stop
;;
restart)
echo stop
echo start
;;
*)
echo $"Usage: $0 {start|stop|restart}" 这句输出表示的是什么意思啊? 第一个$是干嘛用的?双引号里面的$0又是做什么用的?
exit 1
esac
#!/bin/sh
AB=`pwd`
echo "$AB"
read AC
for AA in `ls /etc`
do
file /etc/$AA 这里的file的作用?还有AC的值到哪去了?
done
#!/bin/sh
#fa filename
cd "$1"
for FN in `ls`
do
if [ -d "$1/$FN" ];then
echo "Directory: $1/$FN"
/root/fa "$1/$FN" 这句的作用?
fi
if [ -f "$FN" ]
then
echo "File: "`pwd`"/"${FN}
fi
done
|
1
echo $"Usage: $0 {start|stop|restart}"
$是把后面的串当作变量处理。 $0是系统保留变量,它的值是当前程序的名称。
2
read AC
是从标准输入读取一个字符到变量AC(可以理解为等待用户键入一个字符)
for AA in `ls /etc`
是在循环中把/etc目录下的文件名读入变量AA中
file /etc/$AA
则显示这些文件的格式。
3
这个程序是应该由其它程序调用的吧?$1是调用参数
fa是个什么命令我还真不知道。
echo $"Usage: $0 {start|stop|restart}"
$是把后面的串当作变量处理。 $0是系统保留变量,它的值是当前程序的名称。
2
read AC
是从标准输入读取一个字符到变量AC(可以理解为等待用户键入一个字符)
for AA in `ls /etc`
是在循环中把/etc目录下的文件名读入变量AA中
file /etc/$AA
则显示这些文件的格式。
3
这个程序是应该由其它程序调用的吧?$1是调用参数
fa是个什么命令我还真不知道。
|
楼上的已经说得很清楚了。
fa应该是某个程序,但跟shell没有什么关系。
shell参数:
$0 = shell名称或shel脚本名称
$1 = 第一个(1)shell参数
...
$9 = 第九个(9)shell参数
$# = 位置参数的个数
"$*" = "$1 $2 $3 $4 ... $n"
"$@" = "$1" "$2" "$3" "$4" ... "$n"
$? = 最近执行的命令的退出状态
$$ = 当前shell脚本的PID
$! = 最近启动的后台作业的PID
建议看看这本书,入门很好:
《LINUX与UNIX_Shell编程指南》
fa应该是某个程序,但跟shell没有什么关系。
shell参数:
$0 = shell名称或shel脚本名称
$1 = 第一个(1)shell参数
...
$9 = 第九个(9)shell参数
$# = 位置参数的个数
"$*" = "$1 $2 $3 $4 ... $n"
"$@" = "$1" "$2" "$3" "$4" ... "$n"
$? = 最近执行的命令的退出状态
$$ = 当前shell脚本的PID
$! = 最近启动的后台作业的PID
建议看看这本书,入门很好:
《LINUX与UNIX_Shell编程指南》