1
Mein SkriptWarum wurde das Arbeitsverzeichnis nicht mit meinem Skript geändert?
#!/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
Aber
[email protected]:~/procmt$ pwd
/home/milenko/procmt
Was meinen Anweisungen falsch ist das Arbeitsverzeichnis zu ändern?
Dies passiert, weil Sie in ein anderes Verzeichnis in der Subshell verschieben, das das Skript ausführt. Sobald es fertig ist, sind Sie zurück in der Haupt-Shell, wo keine 'cd' durchgeführt wurde. – fedorqui
Die wd wird für die Subshell geändert, die das Skript ausführt, nicht Ihre interaktive Shell, die die Subshell hervorgebracht hat –