跳转到内容

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}: 之类的代码来避免出现“错误的 : 修饰符”错误。
华夏公益教科书