Linux Xshell 基本语法
2020-06-07 本文已影响0人
星云春风
Linux基本语法
-
编写一个脚本
vim test.sh #!/bin/bash #上面的是解释器 还有一种sh解释器 #!/bin/sh A=10 #定义一个变量 echo $A #输出变量
2.执行脚本,三种方式
1. /bin/bash test.sh 2. chmod 777 test.sh ./test.sh 3. sh test.sh
3. 查看上一个命令是否是成功的
echo $? # 0代表是成功的
4.查看磁盘的使用量
df -h
5.脚本里获取当前路径、名称以及参数
#!/bin/bash echo "当前的路径是:$PWD" echo "当前的路径是:`pwd`" echo "当前shell名称是:$0" echo "参数一是:$1" echo "参数二是:$2" #使用的时候可以传参数 sh test.sh 888 999 #这时候会把888 999赋值给$1 $2
#!/bin/bash echo "----------------------------------------" age=99 echo age=$age echo pwd=$PWD ###################### echo "当前shell的脚本名称是:$0" echo "参数一是:$1" echo "参数二是:$2" ######################## echo "是否执行成功:$?" echo "外界传递的参数是:$*" echo "外界传递参数的数量:$#" #上面脚本运行的结果: sh test02.sh 999 888 ---------------------------------------- age=99 pwd=/root/xiachenhui/studyNdk/study03 当前shell的脚本名称是:test02.sh 参数一是:999 参数二是:888 是否执行成功:0 外界传递的参数是:999 888 外界传递参数的数量:2
6. 函数操作
seq 1 20 会输出1-20的值,利用seq可以进行for循环 expr 1000 + 100 #这个是加法 #!/bin/bash # 循环遍历 for i in `seq 1 20` do #这中间就是类似于括号 echo "循环遍历的数字是:$i" done #累加的功能 必须使用双括号,中间的各种空格需要注意 a=0 for((f=0;f<=100;f++)) do a=`expr $f + $a` done echo "累加1到100的值是:$a"
7. 查找和压缩文件
查找所有的.txt文件 find . -name "*.txt" 把所有的文件打包压缩成all.taz文件 tar czf all.taz * #!/bin/bash #查找当前目录下的所有.txt文件 进行打包操作 for i in `find ./ -name "*.txt"` do tar -czf txtAll.tgz $i done
8. while循环
#!/bin/bash #while 循环解释器 i=0 while((i<=100)) do i=`expr $i + 1` echo "遍历i的值是:$i" done
9. 读取文件
#!/bin/bash #读文件,循环一直等待。。。输入文字,按回车即可 while read AA do echo -----------$AA done ~ ~
10. if操作
#!/bin/bash NUM1=100 NUM2=200 # then 代表出发的点 if(($NUM1>$NUM2)); then echo "OK............" else echo "NOT OK........" #结束 fi #!/bin/bash #判断目录是否存在,如果不存在就创建,注意空格问题 if [ ! -d `pwd`/chenhuidir ]; then mkdir -p `pwd`/chenhuidir else echo "chenhuidir 目录已经存在....." fi ~
12. 字符串操作
#!/bin/bash # 字符串 var1="abcde" var2="zzzzzzzzz" #判断是否相等,只有一个=号 if [ $var1 = $var2 ];then echo "var1等于var2" else echo "var1不等于var2" fi # 字符串是否为空 if [ $var1 ] then echo "var1不为空,值是:$var1" else echo "var1为空" fi
13. Linux 万物皆文件之重定向
cat 0< file01.txt 把file01.txt的内容重定向到屏幕文件,0代表shell的界面文件。
14. 函数
#!/bin/bash function test01(){ echo "method test01 run...." } #调用上面的函数 test01 #变量操作 function test02(){ var1="xiachenhui" var2="chenhui" echo $var1 echo $var2 echo "method test02 run...." } test02 #给函数传参 function test03(){ echo "method test03 run...参数是:`expr $1`" } test03 666 #给函数传参2 function test04(){ echo "method test04 run...参数是:`expr $1`" echo $1 } test04 777