带参数的 sh 脚本文件

  • 1、执行 “vim test.sh” 创建一个新的shell脚本,脚本 test.sh 的内容如下:
#!/bin/sh
name=$1   // 将第一个参数赋值给 name
echo "the  ${name} are great man!"  // ${name} 表示取出name对应的参数
  • 2、给新创建的test.sh的脚本赋值 执行权限,命令:
chmod +x test.sh
  • 3、执行命令sh test.sh "zhangsan",可以在终端看到结果:“the zhangsan are great man!”
  • 说明:
    “name=$1” 中 $1 为系统提供的参数位置,$0代表程序的全路劲名称(~/Desktop.test.sh),[$1,$2... ...] 从1 、2 开始为传入的参数,linux 除了提供了位置参数还提供了内置参数,所有内置参数如下:

    • $0 ---> 当前脚本文件全路径名参数
    • $n ---> 传递脚本或函数的参数,n 是一个数字,表示第几个参数,$1 是第一个,$2 是第二个 依次类推... ...
    • $# --->传递给脚本或函数的参数个数
    • $* --->传递给脚本或函数的参数个数
// 遍历参数
for var in $*
do
  echo "name ${var}"
done
// 一次性获取所有参数
 name = $*
echo "name ${name}"
  • $@ --->传递给脚本或函数的参数个数
 // 遍历参数
 for var in $@
 do
 echo "name ${var}"
 done
 // 一次性获取所有参数
 name = $@
echo "name ${name}"

参考文章

二、sh 脚本语法基础

  • 1、开头
    脚本程序必须以#!/bin/sh 开头,且必须写在脚本文件的第一行。
    #!用来告诉系统,他后面的参数是用来执行该文件的程序,这个程序中我们使用/bin/sh来执行程序。
    当编写完脚本文件后,如果要执行该脚本文件,就必须使其可执行,可以使用命令来修改脚本文件的权限,如:chmod +x abc.sh, 这样就可以使用命令:sh abc.sh 或者 bash abc.sh 或者 source abc.sh 亦或 . abc.sh来执行这个脚本文件。

  • 2、注释
    在进行Shell脚本时,以 #开头的句子表示注释,直到这一行结束。

  • 3、变量
    在Shell编程中,所有的变量都由字符串组成,并且不需要对变量进行声明,要赋值给一个变量可以这么写:

#!/bin/sh
#对变量赋值
a = "hello world"
#打印变量
echo $a

有时候变量名很容易与其它的文字混淆,比如:

num=2
echo "this is the $numnd"

这并不会打印出this is the 2nd,因为shell 去搜索变量numnd的值,但是这个变量并没有赋值,我们可以使用{}来告诉shell 我们要打印的num变量,如下:

num=2
echo "this is the ${num}nd"

这样就可以打印出我们预期结果:this is the 2nd

  • 4、环境变量
    export关键字处理过的变量叫做环境变量,我们不对环境变量进行讨论,因为通常情况下仅仅是在登录脚本中使用环境变量

  • 5、Shell命令和流程控制
    在shell脚本中可以使用3类命令:
    1- unix 命令

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容