не может сменить каталог с помощью сценария [duplicate]

На этот вопрос уже есть ответ здесь:

Я попробовал следующий сценарий, чтобы облегчить себе смену каталогов на разные разделы жесткого диска. Но после его выполнения местоположение по умолчанию не меняется, но если я использую командную строку, изменение местоположения выполняется успешно, как показано ниже. Кто-нибудь может помочь?

john@X61s:~$ pwd
/home/john
john@X61s:~$ vi chdir 
john@X61s:~$ ./chdir c
here ... 1
john@X61s:~$ pwd
/home/john
john@X61s:~$ cd /media/john/90F8-0AAE/
john@X61s:/media/john/90F8-0AAE$ 

Скрипт chdir следующий

#! /bin/bash
dir=$1
if [[ $dir = 'c' ]]; then
echo 'here ... 1'
cd /media/john/90F8-0AAE/
elif [[ $dir = 'd' ]]; then
  echo 'here ... 2'
  cd /media/john/E5A9-932C
elif [[ $dir = 'e' ]]; then
  echo 'here ... 3'
  cd /media/john/56de0045-aa0e-4b69-8270-44b4ec866fa2/
else
  echo "$dir not defined"
  exit
fi
1
задан 4 May 2015 в 09:40

1 ответ

Причина этого состоит в том, что сценарий работает в подоболочке; & тогда возвраты туда, где Вы были...

Попытка../chdir, чтобы заставить его работать в текущей оболочке.

0
ответ дан 4 October 2019 в 07:05

Другие вопросы по тегам:

Похожие вопросы: