shell_01

定义变量:

name='qwer'  不解析任何字符

name="qwer"  会解析$和特殊字符

name1=123;name2=456  定义多个变量

now_date=`date`  执行系统命令(现在系统的时间)

引用变量:

echo $name

echo {$name}  {}用于区分边界

预定义变量:

$#  参数的数量

$@  所有参数

$*  所有参数

$?  执行后返回状态,0成功,非0失败

$$  当前进程号

$!  最后一个进程号

$0  当前进程名

输出格式:

echo  换行输出

echo -e $i  转义 输出制表符

printf  不换行输出

接受键盘输入:

read name

echo "xxxx $name"

===============

cat file.txt | while read line  按行读入

按行输入:

<<|      用“|”做定界符

1111111111

222222222

|

let和expr整数算术运算:

i=10

j=20

q=30

let sum=$i+$j+$q

sum=`expr $i+$j+$q`

cheng=`expr $i*$j`  乘法要用转义

scale bc小数精度控制:

n=`echo "scale4;13/2" | bc`  scale4:小数4位

echo $n

6.5000

字符串操作:

echo ${name:0:3}  取0-3位数字符

string="you and you is name"

echo {string/you/YOU}  /替换you为YOU and you is name

echo {string//you/YOU}  //两次YOU and YOU is name

test比较运算:

大于  -gt

小于  -lt

大于等于  -ge

小于等于  -le

等于  -eq

不等于  -ne

================

a=100

b=200

test $b -gt $a

=================

str1="abc"

str2=""

test -n str1  测试str1长度不为0,成功返回0

test -z str1  测试str1长度不为空,成功返回0

test $str1 -a $str2  与

test $str1 -o $str2  或

test $str1 ! $str2  非

原文地址:https://www.cnblogs.com/yaohu/p/10584173.html