Ho bisogno di controllare una directory nella home directory di un altro utente. Normalmente mi piacerebbe sudo ma questo crea un altro processo e perdo anche il mio ambiente.Come posso sudo se in Bash?
Per esempio, ho:
if [[ -d "/home/otheruser/svn" ]];
then
echo "SVN exists"
else
echo "SVN does not exist"
fi
Ho bisogno la condizione del test da eseguire con i permessi di root.
Questa risposta ha lavorato troppo, fa schifo posso accettare una sola risposta. –
+1 - Uno degli usi rari di '/ bin/test' che è garantito. –
Risposta migliore di gran lunga, perché non c'è il rischio di una doppia valutazione: se qualcuno ha provato a parametrizzare l'altra risposta ma l'ha fatto male (ad esempio 'sudo bash -c" [[-d $ nomefile]] "') potresti avere malizioso nomi di file eseguiti come comandi (si consideri 'filename = 'foo]] || rm -rf $ HOME || [[true''). Al contrario, questa risposta è completamente sicura: 'se sudo test -d" $ filename "' non eseguirà alcun comando diverso da 'test'. –