J'ai un script doSmthdans /usr/bin. Est-il possible d'obtenir et d'imprimer le répertoire à partir duquel le script a été appelé ?
Donc, si j'appelle doSmthde /home/mela sortie sera /home/me.
J'ai un script doSmthdans /usr/bin. Est-il possible d'obtenir et d'imprimer le répertoire à partir duquel le script a été appelé ?
Donc, si j'appelle doSmthde /home/mela sortie sera /home/me.
Réponses:
Par "répertoire auquel il a été appelé", vous semblez vouloir dire son répertoire de travail. Vous pouvez changer cela à l'intérieur du script en utilisant par exemple, cdmais avant de le faire, vous pwdl'imprimerez. Ce sera aussi probablement dans la variable$PWD
Si vous aurez besoin du répertoire de travail initial après l'avoir changé, enregistrez-le simplement en haut de votre script (avant de le changer)
#!/bin/bash
initial_wd=`pwd`
# ... do a lot of stuff ...
# ⋮
cd "$initial_wd"
Si vous l'utilisez pour revenir au répertoire dans lequel vous avez commencé, voir également pushdet popd.
cddeux fois)