Mam ten skrypt
#!/bin/bash
cd /home/user/somedir
pwd
działa zgodnie z oczekiwaniami, ale chciałbym, aby ten skrypt przeniósł mnie do / home / user / somedir, ale pozostaję w tym samym katalogu.
Jak napisać skrypt, który przeniesie mnie (w gnome-terminal) do / home / user / somedir?
Odpowiedzi:
Musisz do
source
swojego skryptu. Jeśli nie, zostanie uruchomiony w osobnej podpowłoce, zmieniając katalog roboczy podpowłoki, ale nie powłoki, w której ją uruchomisz.Aby go zdobyć:
lub
Możesz przeczytać więcej tutaj
źródło
Użyj
exec bash
na końcuJednak często zadawane jest to pytanie, ponieważ po wykonaniu skryptu bash z innego katalogu chce się pozostać w wierszu polecenia bash.
W takim przypadku po prostu uruchom podrzędną instancję bash na końcu skryptu:
źródło