não pode mudar de diretório com script [duplicado]

1

Eu tentei o seguinte script para me dar conveniência na mudança de diretórios para diferentes partições do disco rígido. Mas depois de sua execução, o local padrão não muda, mas se eu usar a linha de comando, a mudança de local é bem-sucedida, como mostrado abaixo. Alguém pode ajudar?

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$ 

O script chdir é o seguinte

#! /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
    
por bsmile 04.05.2015 / 08:33

1 resposta

0

A razão para isso é que o script é executado em uma subcamada; & amp; então retorna para onde você estava ...

Tente. ./chdir para executá-lo no shell atual.

    
por Mark Williams 04.05.2015 / 08:42