這裏的代碼從一個shell腳本的一個片段我已經寫:爲什麼'cp'在這個shell腳本中失敗?
for src in $(find . -type f -maxdepth 1 \! -name ${deploy} \! -name gvimrc)
do
src=$(basename ${src})
dest="~/.${src}"
copy="${src} -> ${dest}"
cp $src $dest && echo -e "${ok} ${copy}" || echo -e "${fail} ${copy}"
done
出於某種原因,cp
未能執行。例如,在案件中$src='bashrc'
,我得到這個錯誤:
cp: ~/.bashrc: No such file or directory
我不明白爲什麼會這樣,不過,因爲很明顯,~/.bashrc
是目的地,沒有來源,因此cp
不該不在乎它是否存在。究竟發生了什麼問題?
考慮使用 'EVAL' - 如:EVAL CP「$ src「」$ dest「...這應該確保發生shell擴展。 – 2009-01-05 18:34:32