Ho uno script doSmthin /usr/bin. È possibile ottenere e stampare la directory da cui è stato chiamato lo script ?
Quindi, se io chiamo doSmthdal /home/mel'uscita sarà /home/me.
Ho uno script doSmthin /usr/bin. È possibile ottenere e stampare la directory da cui è stato chiamato lo script ?
Quindi, se io chiamo doSmthdal /home/mel'uscita sarà /home/me.
Risposte:
Per "directory è stato chiamato da" sembra che intenda la sua directory di lavoro. Puoi cambiarlo all'interno dello script usando eg cd, ma prima di farlo, pwdlo stamperà. Probabilmente sarà anche nella variabile$PWD
Se hai bisogno della directory di lavoro iniziale dopo averla modificata, salvala nella parte superiore dello script (prima di cambiarla)
#!/bin/bash
initial_wd=`pwd`
# ... do a lot of stuff ...
# ⋮
cd "$initial_wd"
Se lo stai usando per tornare alla directory in cui hai iniziato, vedi anche pushde popd.
cddue volte)