#! 指定Shell解释器
# 脚本注释
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21vim example.sh #!/bin/bash #For Example BY linuxprobe.com pwd ls -al bash example.sh /root/Desktop total 8 drwxr-xr-x. 2 root root 23 Jul 23 17:31 . dr-xr-x---. 11 root root 4096 Jul 23 17:31 .. ./example.sh bash: ./Example.sh: Permission denied chmod u+x example.sh ./example.sh /root/Desktop total 8 drwxr-xr-x. 2 root root 23 Jul 23 17:31 . dr-xr-x---. 11 root root 4096 Jul 23 17:31 ..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18$0 脚本名称 $# 参数总数 $* 所有参数 $? 上一次命令返回值 $1 第一个参数 ./Example.sh one two three vim example.sh #!/bin/bash echo "当前脚本名称为$0" echo "总共有$#个参数,分别是$*" echo "第1个参数为$1,第5个为$5" sh example.sh one two three four five six 当前脚本名称为example.sh 总共有6个参数,分别是one two three four five six 第1个参数为one,第5个为five
运算符 | 作用 |
---|---|
-d | 测试文件是否为目录类型 |
-e | 测试文件是否存在 |
-f | 判断是否为一般文件 |
-r | 测试当前用户是否有权限读取 |
-w | 测试当前用户是否有权限写入 |
-x | 测试当前用户是否有权限执行 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31#返回0,目录存在 [ -d /etc/fstab ] echo $? 1 #返回0,文件存在 [ -f /etc/fstab ] echo $? 0 #-e 存在 [ -e /dev/cdrom ] && echo "Exist" Exist echo $USER root [ $USER = root ] || echo "user" su - linuxprobe [ $USER = root ] || echo "user" user exit logout [ ! $USER = root ] || echo "administrator" administrator [ ! $USER = root ] && echo "user" || echo "root" root
运算符 | 作用 |
---|---|
-eq | 是否等于 |
-ne | 是否不等于 |
-gt | 是否大于 |
-lt | 是否小于 |
-le | 是否等于或小于 |
-ge | 是否大于或等于 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26[ 10 -gt 10 ] echo $? 1 [ 10 -eq 10 ] echo $? 0 free -m total used free shared buffers cached Mem: 1826 1244 582 9 1 413 -/+ buffers/cache: 830 996 Swap: 2047 0 2047 free -m | grep Mem: Mem: 1826 1244 582 9 free -m | grep Mem: | awk '{print $4}' 582 FreeMem=`free -m | grep Mem: | awk '{print $4}'` echo $FreeMem 582 [ $FreeMem -lt 1024 ] && echo "Insufficient Memory" Insufficient Memory
运算符 | 作用 |
---|---|
= | 比较字符串内容是否相同 |
!= | 比较字符串内容是否不同 |
-z | 判断字符串内容是否为空 |
1 2 3 4 5 6 7 8 9[ -z $String] echo $? 0 echo $LANG en_US.UTF-8 [ $LANG != "en.US" ] && echo "Not en.US" Not en.US
Copyright ©2010-2022 比特日记 All Rights Reserved.