# shell脚本
sh test.sh
source test.sh
./test.sh # 需要有执行权限
复制
name="zhang san" # 定义字符串变量。
name1=zhangsan # 这也是,没有单引号或者双引号中间不允许有空格
name2='zhang san' # 这也是
name3="test $name" # 双引号会自动将变量值替换,而单引号不会替换
echo $name # 输出变量
echo ${name1} # 也是输出变量
readonly name # 将变量设置为只读。也就是后面不允许对该变量再次赋值
unset name1 # 删除变量。只读变脸不可删除
echo ${#name} # 获取变量长度
names=("a" "b" "c") # 定义数组
echo ${names[0]} # 访问数组元素
echo ${names[@]} # 输出数组所有元素
echo ${#names[@]} # 获取数组长度
echo "执行shell脚本的文件名:$0"
echo "第一个参数为:$1"
echo "第二个参数为:$2"
a=10
b=20
if [ $a -eq $b ]
then
echo "$a -eq $b : a 等于 b"
else
echo "$a -eq $b : a 不等于 b"
fi
if [ $a == $b ]
then
echo "$a -eq $b : a 等于 b"
else
echo "$a -eq $b : a 不等于 b"
fi
if [[ $a -lt 100 && $b -gt 100 ]]
then
echo "返回:True"
else
echo "返回:False"
fi
a='abc'
b='abc'
if [ $a = $b ]
then
echo "相等"
else
echo "不相等"
fi
if [ $a ]
then
echo "不为空"
else
echo "为空"
fi
if [ -n $a ]
then
echo "长度不为0"
else
echo "长度为0"
fi
file="/home/pc1/odoo-conf/test1.sh"
if [ -r $file ]
then
echo "文件可读"
else
echo "文件不可读"
fi
echo `pwd` # 这里并不会直接显示pwd,而是将pwd当做命令执行,然后返回结果显示
echo -e "\nhello\" \c" # "\"转义 \n换行 \c不换行 -e不换行
if test ${a} -eq ${b}
then
echo "$a -eq $b : a 等于 b"
else
echo "$a -eq $b : a 不等于 b"
fi
if test ${a} -eq ${b}
then
echo "$a -eq $b : a 等于 b"
elif ${a} -ne ${b}
echo "$a -eq $b : a 不等于 b"
fi
echo '输入1到4之间的数字:'
echo '你输入的数字为:'
read num
case $num in
1) echo '你选择了 1'
;;
2) echo '你选择了 2'
;;
3) echo '你选择了 3'
;;
4) echo '你选择了 4'
;;
*) echo "你选择了 * $num"
;;
esac
names=(1 2 3 4 5)
for loop in ${names[@]}
do
echo $loop
done
while :
do
echo -n "输入1到5的数字,6退出:"
read anum
case $anum in
1|2|3|4|5) echo "你输入的为: $anum"
;;
6) echo "退出"
break
;;
*) echo "输入错误!"
continue
;;
esac
done
a=''
if [ ! $a ]
then
echo "字符串为空的时候执行这里"
fi
echo "是否确认本次操作(Y/N)?:"
read ch
if [ $ch == "Y" ] || [ $ch == 'y' ]
then
echo "你选择了确认"
fi
funwithParam(){
echo "第一个参数 $1"
echo "第二个参数 $2"
echo "第三个参数 $3"
echo "第四个参数 $4"
echo "第五个参数 $5"
echo "第六个参数 $6"
return $(($1+$2))
}
funwithParam 1 2 3 4 5 6 # 调用函数
echo "第一个参数与第二个参数的和:$?" # $?上次返回值
手机扫一扫
移动阅读更方便
你可能感兴趣的文章