Shell脚本命令
2022/4/23 7:13:54
本文主要是介绍Shell脚本命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#! /bin/bash echo "hello">1.txt # > 文件覆盖 >> 文件追加 echo "hello"; echo 'fff'; #封号分割多命令执行 #--------------定义变量-------------------- test=123 test="$test"456 #“$变量” echo $test test=${test}789 #字符串连接 ${test} echo $test #--------------单引号和双引号----------------- name=sc echo '$name' #单引号内都是字符串 echo "$name" #输出内容 echo `date` #反引号输出的命令会执行,不推荐使用 echo $(date) #推荐$()执行具体命令 #-------------unset变量删除 name=sc unset name echo $name #打印不出来 # $0,$1,$2 执行shell输入参数 echo "第一个参数文件名:$0" #文件名 echo "输入第二个参数$1" echo "第3个参数$2" #-----------字符串操作--------------- str="abcd" echo "abcd字符串长度:"${#str} echo "abcd取第2个位置开始,截取2个字符长度"${str:1:2} #-------------数组操作------------------ #---------算数运算符-- 不支持简单数据运算,需要awk和expr配合,表达式之间必须要有空格---------- a=10 b=20 val=$(expr $a + $b) echo "a + b : $val" val=$(expr $a - $b) echo "a - b : $val" val=$(expr $a \* $b) #注意乘法需要带\ echo "a * b : $val" val=$(expr $b / $a) echo "b / a : $val" val=$(expr $b % $a) echo "b % a : $val" if [ $a == $b ] then echo "a 等于 b" fi if [ $a != $b ] then echo "a 不等于 b" fi #----------关系运算符 只支持数字,不支持字符串--------------------------- 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 -ne $b ] then echo "$a -ne $b: a 不等于 b" else echo "$a -ne $b : a 等于 b" fi if [ $a -gt $b ] then echo "$a -gt $b: a 大于 b" else echo "$a -gt $b: a 不大于 b" fi if [ $a -lt $b ] then echo "$a -lt $b: a 小于 b" else echo "$a -lt $b: a 不小于 b" fi if [ $a -ge $b ] then echo "$a -ge $b: a 大于或等于 b" else echo "$a -ge $b: a 小于 b" fi if [ $a -le $b ] then echo "$a -le $b: a 小于或等于 b" else echo "$a -le $b: a 大于 b" fi #-------------------布尔运算符------------------ # !运算符 [!false] 返回true # -o 或运算符 [ 5 lt 3 -o 5 gt 3] # -a 与运算符,两个表达式为true [ 5 lt 3 -a 5 gt 3] # || [[ 5 lt 3 || 5 gt 3]] # && [[ 5 lt 3 && 5 gt 3]] a=10 b=20 if [ $a != $b ] then echo "$a != $b : a 不等于 b" else echo "$a == $b: a 等于 b" fi if [ $a -lt 100 -a $b -gt 15 ] then echo "$a 小于 100 且 $b 大于 15 : 返回 true" else echo "$a 小于 100 且 $b 大于 15 : 返回 false" fi if [[ $a -lt 100 && $b -gt 15 ]] #&&恶心前面还要个[] then echo "$a 小于 100 且 $b 大于 15 : 返回 true" else echo "$a 小于 100 且 $b 大于 15 : 返回 false" fi if [ $a -lt 100 -o $b -gt 100 ] then echo "$a 小于 100 或 $b 大于 100 : 返回 true" else echo "$a 小于 100 或 $b 大于 100 : 返回 false" fi if [[ $a -lt 5 || $b -gt 100 ]] #||恶心前面还要个[] then echo "$a 小于 5 或 $b 大于 100 : 返回 true" else echo "$a 小于 5 或 $b 大于 100 : 返回 false" fi #-------------------字符串运算符------------------ # a=abc b=eft # = [ $a = $b ] 返回false # != [ $a != $b ] 返回true # -z 字符串长度为0返回true [ -z $a ] 返回false # -n 字符长长度不为0返回true [ -n $a ] 返回true # $ 检测字符串长度不为空返回true [ $a ] #---------------echo--------------------- echo "\"ffff\"" read name echo "$name ffffff" #----------------test命令---------------- # test -eq -ne -gt -ge -lt -le 数值 # test $num1 = $num2 字符串 = != -z (0长度) -n (非0长度) # test -e 存在 -r 只读 -w -x -s -d -f -c -b 文件存在其为块文件 num1=100 num2=200 if test $((num1)) -eq $((num2)) then echo 'fk' else echo 'ttt' fi result=$((num1+num2)) echo ${result} if test $num1 = $num2 then echo 'ffff' else echo 'ffff' fi #-----------条件语句----------------- # if condition then ..... fi # if condition then ..... else ..... fi # if condition then ....... elif ....... then ....else ..... fi a=10 b=20 if [ $a == $b ] then echo "a 等于 b" elif [ $a -gt $b ] then echo "a 大于 b" elif [ $a -lt $b ] then echo "a 小于 b" else echo "没有符合的条件" fi num1=$((2*3)) num2=$((1+5)) if test $((num1)) -eq $((num2)) then echo '两个数字相等!' else echo '两个数字不相等!' fi #--------------while----------- # while condition # do # xxxxx # done int=1 while(( ${int}<=5 )) do echo $int let int++ done #---------------case esac echo '输入 1 到 4 之间的数字:' echo '你输入的数字为:' read aNum case $aNum in 1) echo '你选择了 1' ;; 2) echo '你选择了 2' ;; 3) echo '你选择了 3' ;; 4) echo '你选择了 4' ;; *) echo '你没有输入 1 到 4 之间的数字' ;; esac #---------------------------------------- site="runoob" case "$site" in "runoob") echo "菜鸟教程" ;; "google") echo "Google 搜索" ;; "taobao") echo "淘宝网" ;; esac #------------------------------------- while : do echo -n "输入 1 到 5 之间的数字:" read aNum case $aNum in 1|2|3|4|5) echo "你输入的数字为 $aNum!" ;; *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束" break ;; esac done #---------------------------------- while : do echo -n "输入 1 到 5 之间的数字: " read aNum case $aNum in 1|2|3|4|5) echo "你输入的数字为 $aNum!" ;; *) echo "你输入的数字不是 1 到 5 之间的!" continue echo "游戏结束" ;; esac done #------------------------------- demoFun(){ echo "这是我的第一个 shell 函数!" } echo "-----函数开始执行-----" demoFun echo "-----函数执行完毕-----" funWithReturn(){ echo "这个函数会对输入的两个数字进行相加运算..." echo "输入第一个数字: " read aNum echo "输入第二个数字: " read anotherNum echo "两个数字分别为 $aNum 和 $anotherNum !" return $(($aNum+$anotherNum)) } funWithReturn echo "输入的两个数字之和为 $? !" funWithParam(){ echo "第一个参数为 $1 !" echo "第二个参数为 $2 !" echo "第十个参数为 $10 !" echo "第十个参数为 ${10} !" echo "第十一个参数为 ${11} !" echo "参数总数有 $# 个!" echo "作为一个字符串输出所有参数 $* !" } funWithParam 1 2 3 4 5 6 7 8 9 34 73
这篇关于Shell脚本命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南