Shell之常用语法总结
2020-06-05 06:55
281 查看
Shell常用语法总结
运算符
逻辑算符 || &&
#a=10 #b=15 #if [[ $a -ge 10 && $b -le 15 ]] #then #echo "$a -ge 10 && $b -le 15: true" #else #echo "$a -ge 10 && $b -le 15: false" #fi
布尔运算符 ! -a -o
#a=100 #b=150 #if [ $a -ge 100 -a $b -gt 150 ] #then #echo "$a -gt 100 -a$b -gt 150: true" #else #echo "$a -gt 100 -a$b -gt 150: false" #fi
数组的定义及打印方法
arry=("张三" "list" 32 28) echo ${arry[2]} echo "------取全部值----------" echo "数组的个数为:${#arry[*]}" echo "数组的个数为:${#arry[@]}" echo "数组的所有元素为:${arry[*]}" echo "数组的所有元素为:${arry[@]}" echo "--------1----------" for i in $(seq 0 ${#arry[@]}) do echo ${arry[$i]} done echo "--------2----------" #数组通过for的遍历方式 for value in ${arry[*]} do echo $value done
从控制台读取数据并打印
#echo "文件名:$0" #echo "长度:$#" #echo "所有:$*" #for i in "$*" #do #echo $i #done #for value in "$@" #do #echo $value #done read name echo $name is a 大帅哥 echo "参数个数为:$#" echo "shell传参" echo "文件路径及名字:$0" echo "第一个参数:$1" echo "第一个参数:$2"
赋值,删除,单双引号
myName="gree" echo ${myName} echo "$myName hei" echo '$myName hei' #unset myName #echo $myName
导包调用其它脚本文件的方法
#!/bin/bash . ./fundemo.sh num1=200 num2=300 sum=`myFunReturn $num1 $num2` echo "contains.sh 传值求和: $sum"
脚本内方法的编写
myFunReturn(){ #read -p "请输入一个数字:" num1 #read -p "请输入一个数字:" num2 num1=$1 num2=$2 #value=$[num1+num2] #echo "方法内的结果:$value" echo $[num1+num2] } sum=`myFunReturn 21 2222` echo "两个数的和为:$sum"
我的方法
fun(){ read -p "第一个数:" nu1 read -p "第二个数:" nu2 #return $(($nu1+$nu2)) #return `expr $nu1 + $nu2` #sum=`expr $nu1 + $nu2` #sum=$[ nu1 + nu2 ] sum=$((nu1 + nu2)) echo $sum } value=`fun 21 2222` echo "两数之和为:$value"; #echo $?(这一行用于方法内return返回值的接受输出,以上方法没有用到)
输出字体加颜色
#myFun(){ #echo -e "\033[32mHello World!\033[0m" #} #echo "start" #myFun #echo "end"
While ,for无限循环 case选择结构
while true
do read -p "请输入一个数字:" aNum case $aNum in 1) echo "choose 1" ;; 2) echo "choose 2" ;; *) echo "no choose" break ;; esac done
for(( ; ; ))
do echo "请输入1-3之间的数" read nu case $nu in 1) echo 1;; 2) echo 2;; 3) echo 3;; *) echo "游戏结束" break;; esac done
while循环
#a=999 #b=666 # #while (( $a >= 992 )) #do #echo "当前 a 的值为:$a" #let "a--" #done
Until
#a=0 #until((a>10)) #do #echo "$a" #let ++a #done #a=0 #until [ ! $a -lt 10 ] #do #echo "$a" #a=$[a+1] #done
Let
#let a=5+3 #let b=5-3 #let c=a++ #let d=b-- #echo "$a $b $c $d"
while
#int=1 #while(( $int<=10 )) #do #echo $int #int=$[int+1] #done
乘法口诀
#for((i=1; i<=9; i++)) #do #for((j=1; j<=i; j++)) #do #echo -n -e "$j*$i=$[i*j]\t" #done #echo "" #done
高级版本
for i in $(seq 9) do for j in $(seq $i) do echo -n -e "$j*$i=$(($i*$j))\t" done echo "" done 我的版本 #ji=0 #for((i=9; i>=1; i-- )) #do #for((j=9; j>=i; j-- )) #do #echo -n -e "$i*$j=$[i*j] " #done #echo "" #done
1到100的和
#sum=0 #for((i=1; i<=100; i++)) #do #sum=`expr $i + $sum` #done #echo "$sum"
for循环的字符串用法
#for str in "This" "is" "a" "string" #do #echo "$str" #done #for num in 1 2 3 4 11 #do #echo "$num" #done
If语句比较大小
#num1=100 #num2=200 #if [ $num1 == $num2 ] #then #echo "两个数相等" #elif [ $num1 -gt $num2 ] #then #echo "num1大于num2" #else #echo "num1小于num2" #fi
while循环读取content文件,将adds.txt文件覆盖到content文件
#!/bin/bash while read content do echo $content | grep "142" | sed 's/,/ /g' | awk '{print $2}' done < adds.txt | sed -n '1,3p'
格式输出
printf '%s\t%s\t%s\n' gree wanglei zhangjun #printf '%s\n' gree wanglei zhangjun #printf '%s %d\n' gree 32 #printf "%10s %10s %10s\n" 姓名 性别 体重kg #printf "%-10s %-10s %-10s\n" 姓名 性别 体重kg #printf "%-10s %-10s %-4.2f\n" 张三 男 53.1264 #printf "%-10c %-10s %-4.2f\n" abcde 男 53.1264
test几种用法
#echo "Hello Shell" #printf "Hello, Shell " #echo "Hai" if test -e /home/zxl then echo "有" else echo "没有" fi #num1=100 #num2=200 #if test $num1 -eq $num2 #then #echo "相等" #else #echo "不相等" #fi #result=$[num1+num2] #result1=`expr $num1 + $num2` #echo "$result \t $result1" echo string echo "hello world!" echo '"hello world!"' echo \"hello world!\"
相关文章推荐
- ES6常用的语法总结
- 对几个 T-SQL 特有的常用语法点的总结
- Shell常用操作符总结
- 常用CSS缩写语法总结
- 常用CSS缩写语法总结
- shell脚本三步走以及shell编程中常用语法
- MorkDown 常用语法总结
- shell常用命令总结(转)
- 常用CSS缩写语法总结
- shell脚本常用命令简单总结
- hadoop常用shell脚本总结
- shell常用命令总结
- Shell 中grep awk 和 sed常用命令和语法
- jQuery常用语法笔记总结
- vue.js 常用语法总结(一)
- 星座网世纪开运网21kaiyun.com常用CSS缩写语法总结
- es6常用语法总结
- SHELL常用命令总结
- [SHELL]20150621前总结——基本常用操作语句
- 常用CSS缩写语法总结