Shell脚本入门
Shell脚本入门
基础
1 | declare -r TITLE="Page Title" #常量 |
if
1 | x=5 |
常用文件表达式:
| 表达式 | 为真情况 |
|---|---|
| -e file | 存在 |
| -f file | 普通文件 |
| -d file | 目录 |
| -r file | 可读 |
| -w file | 可写 |
| -x file | 可执行 |
常用字符串表达式:
| 表达式 | 为真情况 |
|---|---|
| string | 不为空 |
| -n string | 长度>0 |
| -z string | 长度=0 |
| string1==string2或string1=string2 | |
| string1!=string2 | |
| string1<string2 | |
| string1>string2 |
整数表达式:
| 表达式 | 为真情况 |
|---|---|
| -eq | |
| -ne | |
| -le | |
| -lt | |
| -ge | |
| -gt |
组合表达式:
| 操作 | test | [[]]和(()) |
|---|---|---|
| and | -a | && |
| or | -o | || |
| not | ! | ! |
test增强
1 | if [["$INT" =- ^-?[0-9]+$ ]]; then #如果匹配正则表达式 |
控制操作符
1 | [[-d temp]] || mkdir temp |
输入
1 | echo -n "input->" #-n不输出结尾换行符 |
IFS
1 |
|
验证输入
1 | #文件名是否有效 |
while/until
1 | count=1 |
case
1 | case "$REPLY" in |
命令行参数
1 | echo "$#" #命令行传参个数 |
for
1 | for i in {A..D}; do |
字符串与数字
1 | echo ${foo:-"substitute value if unset"} |
数组
1 | a[1]=foo |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 The Blog of Monoceros406!