shell编程--变量和if语句的使⽤
⼀、什么是Shell?
shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,⽐如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell是⼀个命令解释器,它通过接受⽤户输⼊的Shell命令来启动、暂停、停⽌程序的运⾏或对计算机进⾏控制。
⼆、什么是脚本?
脚本就是由Shell命令组成的⽂件,这些命令都是可执⾏程序的名字,脚本不⽤编译即可运⾏。它通过解释器解释运⾏,所以速度相对来说⽐较慢。
三、Linux中有哪些脚本解释器?
有dash和bash两种,但dash没有bash功能全⾯,所以通常使⽤bash。
可以通过命令来查看系统中的脚本解释器:  ls  -l  /bin/*sh
linux shell编程求和
注意:执⾏之前⾸先要为脚本⽂件添加可执⾏权限,不然就得⽤root权限才能执⾏!
添加可执⾏权限: chmod  +x  name.sh  回车
四、shell脚本的执⾏⽅式
1)   ./name.sh     这种⽅式脚本第⼀⾏⼀定要加#!/bin/bash
2)    /bin/bash name.sh
3)  bash name.sh
4)   sh name.sh
在编译的时候⽤空格分割依次传⼊参数
./name.sh  1234 abcd
参数1  参数2
shell 脚本常⽤参数
#!/bin/sh        # 在脚本第⼀⾏脚本头 # sh为当前系统默认shell,可指定为bash等shell
sh -x            # 执⾏过程
sh -n            # 检查语法
(a=bbk)          # 括号创建⼦shell运⾏
basename /a/b/c  # 从全路径中保留最后⼀层⽂件名或⽬录
dirname          # 取路径
$RANDOM          # 随机数
$$                # 进程号
source FileName  # 在当前bash环境下读取并执⾏FileName中的命令  # 等同 . FileName sleep 5          # 间隔睡眠5秒
trap              # 在接收到信号后将要采取的⾏动
trap ""23      # 禁⽌ctrl+c
$PWD              # 当前⽬录
$HOME            # 家⽬录
$OLDPWD          # 之前⼀个⽬录的路径
cd -              # 返回上⼀个⽬录路径
local ret        # 局部变量
yes              # 重复打印
yes |rm -i *      # ⾃动回答y或者其他
ls -p /home      # 区分⽬录和⽂件夹
ls -d /home/      # 查看匹配完整路径
time a.sh        # 测试程序执⾏时间
echo -n aa;echo bb                    # 不换⾏执⾏下⼀句话将字符串原样输出
echo -e "s\tss\n\n\n"                # 使转义⽣效
echo $a | cut -c2-6                  # 取字符串中字元
echo {a,b,c}{a,b,c}{a,b,c}            # 排列组合(括号内⼀个元素分别和其他括号内元素组合)
echo $((2#11010))                    # ⼆进制转10进制
echo aaa | tee file                  # 打印同时写⼊⽂件默认覆盖 -a追加
echo {1..10}                          # 打印10个字符
printf '%10s\n'|tr "" a              # 打印10个字符
pwd | awk -F/ '{ print $2 }'          # 返回⽬录名
tac file |sed 1,3d|tac                # 倒置读取⽂件  # 删除最后3⾏
tail -3 file                          # 取最后3⾏
outtmp=/tmp/$$`date +%s%N`.outtmp    # 临时⽂件定义
:(){ :|:& };:                        # 著名的 fork,系统执⾏海量的进程,直到系统僵死
echo -e "\e[32m颜⾊\e[0m"            # 打印颜⾊
echo -e "\033[32m颜⾊\033[m"          # 打印颜⾊
echo -e "\033[0;31mL\033[0;32mO\033[0;33mV\033[0;34mE\t\033[0;35mY\033[0;36mO\033[0;32mU\e[m"    # 打印颜⾊
if语句的使⽤
⼀、⽐较数字的⼤⼩----双括号
⼆、判断⽬录是否存在  -d
三、判断⽂件是否存在
四、多个if判断
逻辑运算符解析:
逻辑运算符解析:
-f    判断⽂件是否存在 eg: if [ -f filename ]
-d    判断⽬录是否存在 eg: if [ -d dir    ]
-eq    等于应⽤于:整型⽐较
-ne    不等于应⽤于:整型⽐较
-lt    ⼩于应⽤于:整型⽐较
-gt    ⼤于应⽤于:整型⽐较
-le    ⼩于或等于应⽤于:整型⽐较
-ge    ⼤于或等于应⽤于:整型⽐较
-a    双⽅都成⽴(and)逻辑表达式 –a 逻辑表达式-o    单⽅成⽴(or)逻辑表达式 –o 逻辑表达式
-
z    空字符串

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。