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

标签 linux command-line csh

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

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

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

最佳答案

使用花括号来分隔变量。这适用于 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"

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

关于linux - 使用 csh 转义路径名中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17801090/

相关文章:

linux - 需要一种更好的方法将 JAVA_HOME 附加到 csh 中的 PATH

linux - 将 rlogin 命令转换为别名

php - 为什么我的服务器要加载这些 PHP 变量?

linux - 通过 SSH 从多个远程主机收集 STDOUT 时的数据完整性问题

Perl:打印回行首

heroku - 如何清除 Heroku 日志

variables - 非法变量名称的 Csh 问题

linux - Progress 4gl (Openedge ABL) 是否能够读取 STDIN 并输出到 STDOUT?

linux - 来自 Linux 的 makefile 在 OpenSolaris 中不起作用

command-line - 单行创建包含内容的文件