使用""中的选项设置csh命令

时间:2015-11-12 05:50:06

标签: csh

我正在编写一个csh脚本,我需要执行一个命令,该命令来自提示符:

  

$ command -c":var = a + b"

所以我试试:

  

设置cmd ="命令-c"'":var = a + b"'" -o outfile"
  echo $ cmd
  $ CMD

字符串cmd与ec​​ho一起正确显示。但是当我尝试执行$cmd时,我收到一条错误,指出-c选项的参数无法识别。错误报告:= a + b"

  

即,缺少:var部分。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我会比@shellter更进一步,并说它不能在CSH或TCSH中完成。

CSH解析非常简单,无论是否扩展变量。如果确实如此,它就不会尊重它在那些变量中找到的引号。换句话说,解析器不是递归的。

所以你甚至不能这样做:

args="-c 'with space'"
command $args
command "$args"

第一个版本会将-cwithspace传递给命令,第二个版本会传递-c with space