跳轉到內容

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
  1. 變數修飾符方便在指令碼中操作路徑。
  2. tcsh 允許將修飾符連結在一起,但某些實現一次只支援一個修飾符。
  3. 將變數與冒號字元連線在一起需要使用諸如 $var"":${var}: 之類的程式碼來避免出現“錯誤的 : 修飾符”錯誤。
華夏公益教科書