C Shell 指令碼/修飾符
外觀
在 C shell 中,從變數獲取的路徑值可以在它被用於命令或表示式之前進行修改。變數修飾符在變數末尾的冒號(:)之後給出。修飾符的含義如下
:h 返回路徑的目錄(又稱“頭部”)
:t 返回路徑的檔名(又稱“尾部”)
:r 返回目錄和檔名,不包括最後一個副檔名(又稱“根”)
:e 返回路徑的副檔名(又稱“結尾”)
例如,使用此指令碼
#!/bin/csh -f set file = /usr/joe/backup.tar.gz echo $file:h echo $file:t echo $file:r echo $file:e echo $file:t:r:r echo $file:h:h
將產生以下輸出
/usr/joe backup.tar.gz /usr/joe/backup.tar gz backup /usr
- 變數修飾符方便在指令碼中操作路徑。
- tcsh 允許將修飾符連結在一起,但某些實現一次只支援一個修飾符。
- 將變數與冒號字元連線在一起需要使用諸如
$var"":或${var}:之類的程式碼來避免出現“錯誤的 : 修飾符”錯誤。