使用csh转义路径名中的变量

时间:2013-07-23 03:37:51

标签: linux command-line csh

我正在尝试使用变量创建路径,如下所示:

set var=foo
set path="/home/user/prefix_$var_suffix/bar"

嵌入变量的正确方法是什么,以便它不会继续读取_。作为奖励,是否有一种语法适用于perl和csh(或者至少是bash)?

1 个答案:

答案 0 :(得分:1)

使用花括号来分隔变量。这适用于csh和所有Bourne样式的shell(包括bash)。它也适用于Perl。

set path="/home/user/prefix_${var}_suffix/bar"

另一种方法是结束引号:

set path="/home/user/prefix_""$var""_suffix/bar"

在Perl中,您必须使用.连接运算符:

$path = "/home/user/prefix_".$var."_suffix/bar"

请注意,您不应在path脚本中使用csh作为变量名,因为它用于查找可执行文件的搜索路径。