一、Shell中的$0、$1、$2的含义
1、$0 就是你写的shell脚本本身的名字
2、$1 是你给你写的shell脚本传的第一个参数
3、$2 是你给你写的shell脚本传的第二个参数
下面我们用实例测试一下
```
#!/bin/bash
PROJECT_NAME=$1//$1 是你给你写的shell脚本传的第一个参数
BUILD_MODE=$2//$2 是你给你写的shell脚本传的第二个参数
echo $PROJECT_NAME
echo $BUILD_MODE
```
二、shell脚本中截取字符串
1、${PROJECT_NAME:0:6}
2、echo $NORMAL_BRAND
NORMAL_BRAND=${PROJECT_NAME:0:6} //其中的 0 表示左边第一个字符开始,6 表示字符的总个数,意思就是截取PROJECT_NAME变量中前6个
三、shell脚本中打印日期和时间
1、TIME=$(date "+%Y%m%d%H") echo $TIME //获取当前时间的日期
2、TIME=$(date) echo $TIME //打印和设置系统日期和时间
四、shell脚本中查看当前路径
1、PROJECT_PATH=`pwd` echo $PROJECT_PATH //打印当前路径出来
五、shell脚本中$*的含义
1、echo $* ////打印所有的参数
六、shell脚本中for循环的使用
1、for var in $*
do
if [ x$var == x'' ];then
echo 'No input'
elif [ x$var == x'u' ];then
echo 'u'
elif [ x$var == x'ud' ];then
echo 'ud'
elif [ x$var == x's' ];then
echo 's'
elif [ x$var == x'o' ];then
echo 'o'
echo "o=${o}"
else
echo Input is $var
fi
done
备注:这段程序的作用是:(1)循环遍历输入的参数 (2)x$var == x'o'的作用是防止出现语法错误,如果不写X,当$var为空或未设置时,语句被解释为 if [ = "o" ], 出现语法错误。加上X后解释未 if [ X = X"o" ] ,依然正确。当$var不为空时,两者是一样的