1),
[ -a file ] 如果 file 存在則為真。
[ -b file ] 如果 file 存在且是乙個塊特殊檔案則為真。
[ -c file ] 如果 file 存在且是乙個字特殊檔案則為真。
[ -d file ] 如果 file 存在且是乙個目錄則為真。
[ -e file ] 如果 file 存在則為真。
[ -f file ] 如果 file 存在且是乙個普通檔案則為真。
[ -g file ] 如果 file 存在且已經設定了sgid則為真。
[ -h file ] 如果 file 存在且是乙個符號連線則為真。
[ -k file ] 如果 file 存在且已經設定了粘制位則為真。
[ -p file ] 如果 file 存在且是乙個名字管道(f如果o)則為真。
[ -r file ] 如果 file 存在且是可讀的則為真。
[ -s file ] 如果 file 存在且大小不為o則為真。
[ -t fd ] 如果檔案描述符 fd 開啟且指向乙個終端則為真。
[ -u file ] 如果 file 存在且設定了suid (set user id)則為真。
[ -w file ] 如果 file 如果 file 存在且是可寫的則為真。
[ -x file ] 如果 file 存在且是可執行的則為真。
[ -o file ] 如果 file 存在且屬有效使用者id則為真。
[ -g file ] 如果 file 存在且屬有效使用者組則為真。
[ -l file ] 如果 file 存在且是乙個符號連線則為真。
[ -n file ] 如果 file 存在 and has been mod如果ied since it was last read則為真。
[ -s file ] 如果 file 存在且是乙個套接字則為真。
[ file1 -nt file2 ] 如果 file1 has been changed more recently than file2, or 如果 file1 exists and file2 does not則為真。
[ file1 -ot file2 ] 如果 file1 比 file2 要老, 或者 file2 存在且 file1 不存在則為真。
[ file1 -ef file2 ] 如果 file1 和 file2 指向相同的裝置和節點號則為真。
[ -o optionname ] 如果 shell選項 「optionname」 開啟則為真。
[ -z string ] 「string」 的長度為零則為真。
[ -n string ] or [ string ] 「string」 的長度為非零 non-zero則為真。
[ string1 == string2 ] 如果2個字串相同。 「=」 may be used instead of 「==」 for strict posix compliance則為真。
[ string1 != string2 ] 如果字串不相等則為真。
[ string1 < string2 ] 如果 「string1」 sorts before 「string2」 lexicographically in the current locale則為真。
[ string1 > string2 ] 如果 「string1」 sorts after 「string2」 lexicographically in the current locale則為真。
[ -z 「echo 111s|sed 's/[0-9]//g'」 ] && echo 1 || echo 0 #把字串中的數字都替換掉
2),linux命令列下操作:
$cfgfile="lib:basic_sim.tcl"
$b=$
$echo $b
basic_sim.tcl
3),linux命令列下操作:
$cfgfile=basic_sim.tcl
$b=$
$echo $b
b$b=$
$echo $b
bas4),
介紹下shell中的${}、##和%%使用範例:
假設定義了乙個變數為:
file=/dir1/dir2/dir3/my.file.txt
可以用$分別替換得到不同的值:
$:刪掉第乙個 / 及其左邊的字串:dir1/dir2/dir3/my.file.txt
$:刪掉最後乙個 / 及其左邊的字串:my.file.txt
$:刪掉第乙個 . 及其左邊的字串:file.txt
$:刪掉最後乙個 . 及其左邊的字串:txt
$:刪掉最後乙個 / 及其右邊的字串:/dir1/dir2/dir3
$:刪掉第乙個 / 及其右邊的字串:(空值)
$:刪掉最後乙個 . 及其右邊的字串:/dir1/dir2/dir3/my.file
$:刪掉第乙個 . 及其右邊的字串:/dir1/dir2/dir3/my
記憶的方法為:
# 是 去掉左邊(鍵盤上#在 $ 的左邊)
%是去掉右邊(鍵盤上% 在$ 的右邊)
單一符號是最小匹配;兩個符號是最大匹配
$:提取最左邊的 5 個位元組:/dir1
$:提取第 5 個位元組右邊的連續5個位元組:/dir2
也可以對變數值裡的字串作替換:
$:將第乙個dir 替換為path:/path1/dir2/dir3/my.file.txt
$:將全部dir 替換為 path:/path1/path2/path3/my.file.txt
Shell中 a到 z的意思
a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...
linux中的 a到 z的意思
a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...
shell 中if語句 a 到 z 的意思
a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...