Sto lavorando a uno script di disinstallazione per eliminare la cartella principale in cui è installato lo script.Recupera directory principale di script
/usr/local/Myapplication/Uninstaller/uninstall.sh
Così uninstall.sh ha a che fare questo:
rm- rf /usr/local/Myapplication
posso recuperare la cartella in cui risiede disinstallazione
SYMLINKS=$(readlink -f "$0")
UNINSTALL_PATH=$(dirname "$SYMLINKS")
Ma io sono ancora sicuri del grazioso modo per ottenere il percorso genitore. Ho pensato di usare sed per smontare la parte "Uninstaller" di questo percorso, ma esiste un modo elegante per ottenere il percorso della cartella Myapplication per eliminarlo?
Grazie
nello script: 'cd "$ (dirname "$ 0")" && cd .. && cd .. && [-d Mya pplication/Uninstaller] && rm -rf Myapplication' (Ho aggiunto un controllo che la directory che stiamo per eliminare contiene una sottodir "Uninstaller", ma potresti forse aggiungere un controllo migliore, ad esempio di un file necessario in MyApplication?). Se non conosci MyApplication, allora: 'cd" $ (dirname $ 0) "&& cd .. && zepath =" $ (pwd) "&& cd .. && [-f" $ {zepath}/somefilesthathouldbehere "] && rm -rf "$ {zepath}" ' –
Vedere il famoso [uno script Bash può indicare in quale directory è memorizzato?] (http://stackoverflow.com/questions/59895/can-a-bash-script-tell- what-directory-its-stored-in) domanda, quindi 'cd ..' da lì. –