我有一個名爲my_mv.sh
像下面(我使用bash)的包裝腳本:爲什麼這個腳本在獲取或直接執行時會產生不同的結果?
#/bin/bash
function my_mv(){
FILE="${@: -1}" # bash or ksh,zsh
echo $FILE
if [ -f $FILE ];
then
mv -i [email protected]
else
mv [email protected]
fi
}
當我使用它作爲一個腳本,並直接像./my_mv.sh file1 file2
運行,如預期的結果。但是,當我把函數my_mv納入~/.bashrc
和來源它會有一個無限循環。 那麼這兩種方法有什麼區別?我怎樣才能改變腳本,使其可以正確地來源?
順便說一下,使用zsh時,兩種方法的結果相似。
適合我。沒有'!'的'#!'行作爲原始文件,還是換位錯誤?它是如何出現在〜/ .bashrc中的,也許你錯過了一個'}'。 – cdarke