csh环境变量执行

时间:2014-01-12 17:33:34

标签: environment-variables space csh

我在tcsh shell变量中构建命令行,类似于

set cmd  = "/usr/local/bin/rsync "
set parm = "--verbose --acls --times --links "
set src  = "/spindle/to\ be\ backed-up "
set dest = "/mnt/backup21 "

set final = "$cmd $parm $src $dest"

$final

我希望最后一行执行命令。我可以让它执行,但始终有错误

rsync: link_stat "/spindle/to\" failed: No such file or directory (2)

似乎没有正确地看到路径中的空间。我试过多次\,在那行,仍然没有工作。建议?

1 个答案:

答案 0 :(得分:0)

首先,我会认真考虑找到一种不同的方法来做到这一点。 csh被广泛认为是编程的糟糕外壳;请参阅经典文章Csh Programming Considered Harmful。我使用csh和tcsh的时间比我承认的要长几十年,我仍然不得不求助于试错来回答这样的问题。

但是对于您的直接问题,eval似乎有效。替换

$final

通过

eval $final