#!/bin/sh -f cat $1|while read LINE do echo $LINE done #!/bin/sh -f cat $argv【1】|while read LINE do echo $LINE done 为什么前者能正确执行,后者却不能?
shell脚本程序不是很复杂,他是按行解释的,脚本程序总是以 #!/bin/sh 开始,他通知shell使用系统上的Bourne shell解释器。其中#是注释。 当编辑好脚本程序后,要使脚本程序可执行,只需修改脚本程序的权限,命令如下: chmod +x filename 然后输入: ./filename 来执行脚本程序。 一个简单的例子: $cat first #!/bin/sh echo "you are welcome to use bash." echo "current work directory is $PWD" echo "you are ...
$0相当于C语言main函数的argv[0]$1、$2...这些称为位置参数(Positional Parameter),相当于C语言main函数的argv[1]、argv[2]...$#相当于C语言main函数的argc - 1,注意这里的#后面不表示注释$@表示参数列表"$1" "$2" ...,例如可以用在for循环中的in后面。$?上一条命令的Exit Status$$当前Shell的进程号 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/109217/showart_2183816.html