#!/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
shell编程http://www.fanqiang.com (2002-01-29 20:11:53)在DOS 中,你可能会从事一些例行的重覆性工作,此时你会将这些重覆性的命令写成批次档,只要执行这个批次档就等於执行这些命令。大家会问在UNIX中是否有批次处理这个东东,答案是有的。在UNIX中不只有如DOS 的批次处理,它的功能比起DOS 更强大,相对地也较复杂,已经和一般的高阶语言不相上下。在UNIX中大家都不叫做批次档,而叫做shell Script。 一般而言,shell Sc...