Writing /share/Web/wiki/data/cache/c/cf6c088db8a508842a143b0f85f8326b.metadata failed
语法:sh语法速查
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 后一修订版 | 前一修订版 | ||
| 语法:sh语法速查 [2024/09/03 10:26] – 创建 user01 | 语法:sh语法速查 [2024/09/03 10:27] (当前版本) – [1. 判断文件类型] user01 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== sh语法速查 ====== | ====== sh语法速查 ====== | ||
| + | |||
| + | ===== - 判断文件类型 ===== | ||
| + | |||
| + | |||
| + | |||
| + | <code bash> | ||
| + | # | ||
| + | |||
| + | myPath="/ | ||
| + | myFile="/ | ||
| + | |||
| + | # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 | ||
| + | if [ ! -x " | ||
| + | mkdir " | ||
| + | fi | ||
| + | |||
| + | # 这里的-d 参数判断$myPath是否存在 | ||
| + | if [ ! -d " | ||
| + | mkdir " | ||
| + | fi | ||
| + | |||
| + | # 这里的-f参数判断$myFile是否存在 | ||
| + | if [ ! -f " | ||
| + | touch " | ||
| + | fi | ||
| + | |||
| + | # 其他参数还有-n, | ||
| + | if [ ! -n " | ||
| + | echo " | ||
| + | exit 0 | ||
| + | fi | ||
| + | |||
| + | # 两个变量判断是否相等 | ||
| + | if [ " | ||
| + | echo '$var1 eq $var2' | ||
| + | else | ||
| + | echo '$var1 not eq $var2' | ||
| + | fi | ||
| + | |||
| + | -f 和-e的区别 | ||
| + | Conditional Logic on Files | ||
| + | |||
| + | -a file exists. | ||
| + | -b file exists and is a block special file. | ||
| + | -c file exists and is a character special file. | ||
| + | -d file exists and is a directory. | ||
| + | -e file exists (just the same as -a). | ||
| + | -f file exists and is a regular file. | ||
| + | -g file exists and has its setgid(2) bit set. | ||
| + | -G file exists and has the same group ID as this process. | ||
| + | -k file exists and has its sticky bit set. | ||
| + | -L file exists and is a symbolic link. | ||
| + | -n string length is not zero. | ||
| + | -o Named option is set on. | ||
| + | -O file exists and is owned by the user ID of this process. | ||
| + | -p file exists and is a first in, first out (FIFO) special file or | ||
| + | named pipe. | ||
| + | -r file exists and is readable by the current process. | ||
| + | -s file exists and has a size greater than zero. | ||
| + | -S file exists and is a socket. | ||
| + | -t file descriptor number fildes is open and associated with a | ||
| + | terminal device. | ||
| + | -u file exists and has its setuid(2) bit set. | ||
| + | -w file exists and is writable by the current process. | ||
| + | -x file exists and is executable by the current process. | ||
| + | -z string length is zero. | ||
| + | |||
| + | 是用 -s 还是用 -f 这个区别是很大的! | ||
| + | |||
| + | </ | ||
语法/sh语法速查.1725330361.txt.gz · 最后更改: 2024/09/03 10:26 由 user01