美文网首页
带参数的 sh 脚本文件

带参数的 sh 脚本文件

作者: Rui哥 | 来源:发表于2018-05-18 01:01 被阅读78次
    • 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 命令

    相关文章

      网友评论

          本文标题:带参数的 sh 脚本文件

          本文链接:https://www.haomeiwen.com/subject/xckwdftx.html