通过脚本学shell编程——相关基础知识之shell内置变量命令(更新中)

    bash shell 提供了一些内置变量命令,使用它们可以使脚本编写更加方便,这里一起看看比较常用的几个。
    echo:
    命令格式:echo args #可以使字符串和变量的组合。
    功能说明:将args知道定的字符串以及变量等显示到标准输出。
    
    shift:
    命令格式:shift-Shift positional parameters
    功能:这个语句每次运行都是使所有的位置参数依次向左移动一个位置,并使$#减1,直到减到0为止。
    这个比较常用在shell的case语句中,我们以cdh中case匹配位置参数为例子。
    
  while true;
  do
    case "$1" in
    -h|--host)
      DB_HOST=$2
      shift 2
      ;;
    -P|--port)
      DB_PORT=$2
      shift 2
      ;;
    -u|--user)
      DB_USER=$2
      shift 2
      ;;
    -p|--password)
      case "$2" in
      "")
        read -esp "Enter database password: " DB_PASSWORD
        echo
        ;;
      *)
        DB_PASSWORD=$2
        ;;
      esac
      shift 2
      ;;
    --scm-host)
      SCM_HOST=$2
      shift 2
      ;;
    --config-path)
      SCM_CONFIG_PATH=$2
      shift 2
      ;;
    -v|--verbose)
      VERBOSE=1
      shift
      ;;
    -f|--force)
      FORCE=1
      shift
      ;;
    --)
      shift
      break
      ;;
    *)
      usage
      exit 1
      ;;
    esac
  done
    
    可以看到语句中使用$1来匹配相关的选项,对于$2来匹配选项的参数,对于有参数的选项是shift 2 表示要向左移动两次,没有参数的是shift,表示默认左移一次,这样就遍历了所有选项。
    exit:
    命令格式:exit-Exit the shell
    功能:退出当前运行的shell程序,后面可以跟一个要返回的数字作为状态。
    read:
    命令格式:read 变量名表
    功能:从标准输入读取字符串等信息,传给shell程序内部定义的变量,常用语shell脚本要与用户交互的情况下使用。
    
    
    eval:
    命令格式:eval args
    功能:当shell程序执行到eval语句时,shell读入参数args1,并将它们组合成一个新的命令,然后执行。
    这个具体例子可通过看我博客中转载的shell中变量的变量与eval命令
    exec:
    命令格式:exec 命令参数
    功能:exec命令能够在不创建新的子进程的前提下,转去执行指定的命令,当指定的命令执行完毕后,当前shell也就终止了。
    exec与source一样可以在当前脚本执行命令,但是不同的是exec执行完命令后就是退出当前shell程序。
    
    







参考:
《跟老男孩学Linux运维:Shell编程实战》
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值