shell编程基础干货
Posted 一只竹节虫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程基础干货相关的知识,希望对你有一定的参考价值。
变量及赋值
设置变量 A=‘china’ 取消变量 unset A 加上 export 关键字 代表全局变量
a=$(ls -l /root/bin) ##运行里面的命令,并把结果返回给变量 a
特殊变量\\
$$ 表示当前进程编号
$0 表示当前脚本名称
$n 表示 n 位置的输入参数( n 代表数字, n>=1)
$# 表示参数的个数,常用于循环
$* 表示所有参数列表 “ $* “ 加双引号时循环参数时不换行输出
echo命令
echo $A china
echo “l love $A” l love china
echo “l love ${A}town” I love chinatown
运算符号
a=$(((2+3)*5)) 或者 a = $ [(2+3)*5] 双括号或中括号 取值要带 ”$“
流程控制
在linux中,0为true,1为false $? 可返回刚刚运行结果的真与否
if 后面的 [] = 两侧都有空格
短路运算符(理解为三元运算符) [ condition ] && echo OK || echo notok 条件满足,执行&&后面的语句;条件不满足,执行||后面的语句
if 条件中 判断 且和或的两种方式 -a 和 - o 代表 且 和 或 [ [ ] ] 两个中括号可以使用 && || 符号 来代表 且和或
常用判断运算符
(1) 字符串比较 = 判断相等 != 判断不相等 -z 字符串长度是为 0 返回 true -n 字符串长度是不为 0 返回 true
(2) 整数比较
-lt 小于
-le 小于等于
-eq 等于
-gt 大于-ge 大于等于
-ne 不等于
(3)文件判断
-d 是否为目录
if [ -d /bin ]; then echo ok; else echo notok;fi
-f 是否为文件
if [ -f /bin/ls ]; then echo ok; else echo notok;fi
-e 是否存在
if [ -e /bin/ls ]; then echo ok; else echo notok;fi
循环
while循环
for循环
for N in 1 2 3; do echo $N; done
for N {1..3} ;do echo $N; done
for ((i=0;i<=2;i++)) do echo $N; done
函数
hello()
{ echo date}
hello
以上是关于shell编程基础干货的主要内容,如果未能解决你的问题,请参考以下文章