2014-01-12 101 views
0

我建立一個tcsh的shell變量的命令行了,像CSH環境變量執行

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) 

它似乎沒有看到正確路徑的空間。我在該行嘗試了多個\,仍然沒有工作。建議?

+0

這不是一個*環境*變量替換行

$final 

,它只是一個shell變量。環境變量用'setenv'設置。 –

回答

0

首先,我認真考慮尋找不同的方法來做到這一點。 csh被廣泛認爲是編程的可憐殼;請參閱經典文章Csh Programming Considered Harmful。我一直在使用csh和tcsh的時間超過了我所承認的數十年,而且我仍然需要通過試驗和錯誤來回答這樣的問題。

但是對於你的直接問題,eval似乎工作。通過

eval $final