Eu tenho um script doSmth
em /usr/bin
. É possível obter e imprimir o diretório em que o script foi chamado ?
Então, se eu ligar a doSmth
partir /home/me
da saída será /home/me
.
Eu tenho um script doSmth
em /usr/bin
. É possível obter e imprimir o diretório em que o script foi chamado ?
Então, se eu ligar a doSmth
partir /home/me
da saída será /home/me
.
Respostas:
Por "diretório que foi chamado de", você parece se referir ao seu diretório de trabalho. Você pode alterar isso dentro do script usando, por exemplo,, cd
mas antes de fazê-lo, pwd
o imprimirá. Provavelmente também estará na variável$PWD
Se você precisar do diretório de trabalho inicial após alterá-lo, salve-o na parte superior do seu script (antes de alterá-lo)
#!/bin/bash
initial_wd=`pwd`
# ... do a lot of stuff ...
# ⋮
cd "$initial_wd"
Se você estiver usando isso para voltar ao diretório em que iniciou, consulte também pushd
e popd
.
cd
duas vezes)