Eu dou uma resposta, pois estou preocupado que alguém tente a sugestão do OP ...
uma GRANDE palavra de aviso: o script mostrado na pergunta exclui o diretório fornecido por pwd
, que NÃO é o diretório em que o script está, mas o diretório em que o USER está quando inicia o script .
Se um fizer: (** NÃO TENTE ESTE **) cd ; /path/to/thatscript
eles deletariam TODO O HOMEDIRECIONAMENTO DO USUÁRIO (como "cd" voltou para ele) E TUDO DEBAIXO! ...
(Isso é especialmente ruim em alguns SOs onde o homedir do root é "/" ...).
Em vez disso, no seu script, você deve:
mydir="$(cd -P "$(dirname "$0");pwd)"
#retrieve the script's absolute path,
#even if the script was called via ../relative/path/to/script
echo "the script '$0' is in: ${mydir} "
...
# and then (if you really want this.... but I think it's a bad idea!)
# rm -rf "${mydir:-/tmp/__UNDEFINED__}" #deletes ${mydir}, if defined
# once you're sure it is correctly reflecting the real script's directory.