2016-08-18 148 views
1

我的腳本爲什麼工作目錄沒有被我的腳本改變?

#!/bin/bash 

for i in *_TEx_*.dat; 
do 
    file1=$i 
done 

for i in *_TEy_*.dat; 
do 
    file2=$i 
done 

echo file1="$file1" 
echo file2="$file2" 

awk '$0+0 == $0 { printf "%.3f\n", $0/.05 }' "$file1" > ex65536.dat 
awk '$0+0 == $0 { printf "%.3f\n", $0/.05 }' "$file2" > ey65536.dat 

mv *.dat /home/milenko/birrp 

mycd() { 
    cd /home/milenko/birrp 
} 

mycd 

[email protected]:~/procmt$ pwd 
/home/milenko/procmt 

有什麼不對我的指示來改變工作目錄?

+0

發生這種情況是因爲您正在移動到運行腳本的子shell中的另一個目錄。一旦完成,你就回到沒有執行'cd'的主外殼。 – fedorqui

+0

wd針對執行腳本的子shell進行更改,而不是生成子shell的交互式shell –

回答

1

嘗試

... 
mycd() { 
    cd /home/milenko/birrp 
    exec /bin/bash 
} 

mycd 

或者如下運行腳本;

. ./yourscript.sh 
相關問題