Як змінити каталог за допомогою скрипту


10

У мене є цей сценарій

#!/bin/bash
cd /home/user/somedir
pwd

він працює, як очікувалося, але я хотів би, щоб цей сценарій переніс мене до / home / user / somedir, але я залишаюсь у тому ж режисі.

Як написати скрипт, який перевезе мене (в gnome-термінал) до / home / user / somedir?


Відповіді:


14

Вам потрібно до sourceсвого сценарію. Якщо ні, то він буде запущений в окремій підзахисті, змінивши робочий каталог підпакеті, але не оболонки, в яку ви запускаєте її.

Щоб його джерело:

. myfile.sh

або

source myfile.sh

Більше ви можете прочитати тут


Я тільки збирався додати це .... UAdadapter, якщо ви запускаєте скрипт shelll, як sh myfile.sh або ./myfile.sh, він би запускався так, як описано danjil. Будь-який з варіантів danjil повинен працювати для вас.
itnet7

3

Використовуйте exec bashв кінці

Баш сценарій працює в його поточному середовищі або в середовищі своїх дітей, але ніколи в батьківському середовищі.

Однак це запитання часто задається, оскільки хочеться залишитись у рядку bash у певному каталозі після виконання bash-скрипту з іншого каталогу.

Якщо це так, просто виконайте дочірній екземпляр bash в кінці сценарію:

#!/bin/bash
cd /home/user/somedir
exec bash
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.