bash-utils
bash-utils copied to clipboard
do some issues to enhance
https://github.com/alexanderepstein/Bash-Snippets
https://github.com/denysdovhan/bash-handbook
https://github.com/dylanaraps/pure-bash-bible
compare
# numberic
-gt
-ge
-lt
-le
-eq
-ne
# string
==
!=
-n 非空
-z 空字符串
# file
-e 文件存在
-f 普通文件
-s 文件大小不为空
-d 目录
-r / -w/ -x 文件权限
string operation
strip
replace
process
kill -s
kill -9
ps aux | grep
tar & zip
zip
bzip2
tar -cvf
tar -xvf
1.
https://github.com/dylanaraps/pure-bash-bible#file-conditionals
2.
| 基元 | 含义 |
|---|---|
| [ -e FILE ] | 如果FILE存在 (exists),为真 |
| [ -f FILE ] | 如果FILE存在且为一个普通文件(file),为真 |
| [ -d FILE ] | 如果FILE存在且为一个目录(directory),为真 |
| [ -s FILE ] | 如果FILE存在且非空(size 大于0),为真 |
| [ -r FILE ] | 如果FILE存在且有读权限(readable),为真 |
| [ -w FILE ] | 如果FILE存在且有写权限(writable),为真 |
| [ -x FILE ] | 如果FILE存在且有可执行权限(executable),为真 |
| [ -L FILE ] | 如果FILE存在且为一个符号链接(link),为真 |
| [ FILE1 -nt FILE2 ] | FILE1比FILE2新(newer than) |
| [ FILE1 -ot FILE2 ] | FILE1比FILE2旧(older than) |
| 基元 | 含义 |
|---|---|
| [ -z STR ] | STR为空(长度为0,zero) |
| [ -n STR ] | STR非空(长度非0,non-zero) |
| [ STR1 == STR2 ] | STR1和STR2相等 |
| [ STR1 != STR2 ] | STR1和STR2不等 |
| 基元 | 含义 |
|---|---|
| [ ARG1 -eq ARG2 ] | ARG1和ARG2相等(equal) |
| [ ARG1 -ne ARG2 ] | ARG1和ARG2不等(not equal) |
| [ ARG1 -lt ARG2 ] | ARG1小于ARG2(less than) |
| [ ARG1 -le ARG2 ] | ARG1小于等于ARG2(less than or equal) |
| [ ARG1 -gt ARG2 ] | ARG1大于ARG2(greater than) |
| [ ARG1 -ge ARG2 ] | ARG1大于等于ARG2(greater than or equal) |
| Operation | Effect |
|---|---|
| [ ! EXPR ] | 如果EXPR为假,为真 |
| [ (EXPR) ] | 返回EXPR的值 |
| [ EXPR1 -a EXPR2 ] | 逻辑 与, 如果EXPR1和(and)EXPR2都为真,为真 |
| [ EXPR1 -o EXPR2 ] | 逻辑 或, 如果EXPR1或(or)EXPR2为真,为真 |