Risposte:
Utilizzare '&&' per eseguire in modo condizionale il secondo comando se il primo ha esito positivo.
sudo touch .htaccess && sudo chmod 766 .htaccess
scp admin@host.com:file1 && scp admin@host.com:file2 && scp admin@host.com:file3e ho impostato la password sulla mia chiave SSH, mi chiede sempre la password, c'è un modo per combinarla ???
No non lo è.
L'unica cosa che puoi fare, puoi combinare questi due comandi in uno sudo:
sudo sh -c 'touch .htaccess && chmod 766 .htaccess'
Un'altra soluzione (senza una chiamata esterna, ma anche con due comandi):
sudo sh -c 'umask 011 && touch .htaccess'
&&invece di ;, però. Inoltre, in generale userei solo due sudocomandi, perché è eccessivo e rischioso eseguire un'intera shell con privilegi elevati, piuttosto che solo i programmi esatti che devono essere eseguiti con loro (in questo caso, toccare e chmod).
I punti e virgola ti permetteranno di adattare più comandi su una singola riga come questa:
sudo touch .htaccess; sudo chmod 766 .htaccess
&&invece di ;quando si eseguono comandi interdipendenti in modo che si fermi se un comando fallisce.
separare i comandi con punto e virgola. (;)
Esempio
echo firstname; echo lastname;
&&è generalmente migliore di;così che si interrompe se il primo comando fallisce, 2. è generalmente meglio eseguire solo il programma specifico necessariosudo, piuttosto che cercare di combinarli in un'unicasudochiamata ed esecuzione più codice con privilegi elevati rispetto al necessario.