- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
当授予用户执行权限之后,就可以执行该脚本了,如下: [root@linux ~]# chapter1/ex1-1.sh 1.4 向脚本传递参数 许多情况下,Shell脚本都需要接收用户的输入,根据用户输入的参数来执行不同的操作。本节将介绍Shell脚本的参数以及如何在脚本中接收参数。 1.4.1 Shell脚本的参数 从命令行传递给Shell脚本的参数又称为位置参数,这主要是因为Shell脚本会根据参数的位置来接收它们的值。 常用的与参数传递有关的系统变量 变量 说明 $n 表示传递给脚本的第n个参数,例如$1表示第1个参数,$2表示第2个参数… $# 命令行参数的个数 $0 当前脚本的名称 $* 以“参数1 参数2 参数3…”的形式返回所有参数的值 $@ 以“参数1”“参数2”“参数3”…的形式返回所有参数的值 $_ 保存之前执行的命令的最后一个参数 #! /bin/bash echo $# parameters echo $@ [root@linux chapter1]# ./ex1-3.sh a b c 2 parameters a b c 【例1-3】 脚本程序传递脚本参数 1.4.2 参数扩展 参数扩展是通过选项名称来获取选项的值,而不是依靠参数的位置。用户可以通过getopts命令来获取选项的值。 #!/bin/bash #输出参数索引 echo OPTIND starts at $OPTIND #接收参数 while getopts :pq: optname do case $optname in p) echo Option $optname is specified ;; q) echo Option $optname has value $OPTARG ;; ?) echo Unknown option $OPTARG ;; :) echo No argument value for option $OPTARG ;; *) # Should not occur echo Unknown error while processing options ;; esac echo OPTIND is now $OPTIND done 【例1-4】演示如何使用参数扩展 [root@linux chapter1]# ./ex1-4.sh -p OPTIND starts at 1 Option p is specified OPTIND is now 2 [root@linux chapter1]# ./ex1-4.sh -q OPTIND starts at 1 No argument value for option q OPTIND is now 2 [root@linux chapter1]# ./ex1-4.sh -f OPTIND starts at 1 Unknown option f OPTIND is now 2 1.5 第一个Shell程序:Hello,Bash Shell! 通过前面几节的学习,读者已经接触到一些Shell程序了。在本节中,将介绍一个完整的Shell程序的例子,使得读者能够掌握Shell程序的组成元素,并写出简单的程序。 1.5.1 Shell脚本的基本元素 对于一个基本的Shell程序来说,应该拥有以下基本元素: 第1行的“#! /bin/bash”。 注释:说明某些代码的功能。 可执行语句:实现程序的功能。 #! /bin/bash #输出字符串 echo Hello Bash Shell! [root@linux chapter1]# chmod +x ex1-5.sh [root@linux chapter1]# ./ex1-5.sh Hello, Bash Shell! 【例1-5】输出Hello world! 1.5.2 指定命令解释器 命令解释器用来解释并执行当前脚本文件中的语句,语法: #! path 例如:#! /bin/bash #! /usr/local/php5/bin/php ?php //输出Hello world!字符串 print Hello world!; ? [root@linux chapter1]# ./ex1-6.php Hello world! 【例1-6】在PHP脚本文件中指定PHP语言的解释器,然后执行文
文档评论(0)