shell编程简介(编辑修改稿)内容摘要:

$2等等。 在 $9以后,必须使用括号: $(10),$(11),否则, shell会将 $10看成是 $1后面跟一个 0。 而 $0会一直保存程序或命令的名字 shell程序的参数(继续) 以下的 shell程序会安装一个程序,这个程序作为一个命令行参数被安装到你的 bin目录:首先创建程序 my_install,注意 目录 $HOME/bin应该预先存在。 $ cat my_install echo $0 will install $1 to your bin directory chmod +x $1 mv $1 $HOME/bin echo Installation of $1 is plete ctrl + d $ chmod +x my_intalll $ my_install color3 my_install will install color3 to your bin directory Installation of color3 is plete $ 这个例子中,程序指明第一个命令行参数为一个文件名,然后加 上执行权限,然后移动到你当前目录下的 bin目录下。 记住 UNIX系统的惯例是存贮程序在 bin的目录下。 你也许想要在你的 HOME目录下创建一个 bin目录,在这个目录下你可以存储你的程序文件,记住要将你的 bin目录放在 PATH环境变量中,这样 shell才会找到你的程序。 一些特殊 shell变量- #和 * * 例子: $ cat color4 echo There are $ and line argument echo They are $* ehco The first mand line argument is $1 $ chmod +x color4 $ color4 red green yellow blue They are 4 mand line arguments They are red green yellow blue The first mand line argument is red $ 至今为止我们看到的 shell程序都不是很灵活, 如 color3需要输入两个正确的参数而my_install 只 需要一个。 通常在创建一个接收命令行参数的 shell 程序的时候,你想要用户输入一个参数的变量号码。 你同时要程序执行成功,不管用户键入 1 个参数或是 20 个参数。 当处理变量参数列表的时候,特殊 shell 变量会提供你许多的灵活性。 通过 $你可以知道有多少参数已经被输入,通过 $*可以存取全部的参数列表,而不管参数的数量。 请注意参数( $0)不在 $*这个参数列表里。 每一个命令行参数都是互相独立的,你可以通过 $*集中检索这些参数,也可以通过$1,$2,$3等等来独立的检索这些参数。 一些特殊的 shell变量-#和 *(继续 ) 一个可以接收多个命令行参数的安装程序的例子: $ cat my_install2 echo $0 will install $ files to your bin directory echo The files to be installed are : $* chmod +x $* mv $* $HOME/bin echo Installaton is plete ctril + d $ chmod +x my_install2 $ my_install2 color1 color2 my_intall2 will install 2 files to your bin directory The files to be installed are: color1,color2 Intallaiton is plete 这个安装程序更加灵活,如果你有多个文件要安装,你仅需要执行这个程序一次,只要一次输入多个名字即可。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。