Miałem nadzieję, że to zadziała:
echo "starting";
{
cd "$HOME/foobar"
echo "rolo" > file.txt
}
echo "ending";
gdzie kod podpowłoki miałby miejsce między nawiasami klamrowymi, ale ta składnia wydaje się niepoprawna, jak mogę to zrobić?
Miałem nadzieję, że to zadziała:
echo "starting";
{
cd "$HOME/foobar"
echo "rolo" > file.txt
}
echo "ending";
gdzie kod podpowłoki miałby miejsce między nawiasami klamrowymi, ale ta składnia wydaje się niepoprawna, jak mogę to zrobić?
Odpowiedzi:
Zgodnie z dokumentacją bash możesz użyć grupowania w nawiasach lub nawiasach klamrowych, ale jeśli użyjesz nawiasów, otrzymasz zamiast tego podpowłokę. Aby uruchomić polecenia w podpowłoce, użyj:
echo "starting"
(
cd "$HOME/foobar"
echo "rolo" > file.txt
)
echo "ending"
chociaż w tym przykładzie możesz po prostu
echo "rolo" > "$HOME/foobar/file.txt"
pushd
i popd
zamiast cd
tych przypadków jako inne możliwe rozwiązanie
pushd
/ popd
?