Jawaban:
Gunakan '&&' untuk menjalankan perintah kedua secara kondisional jika yang pertama berhasil.
sentuh sudo .htaccess && sudo chmod 766 .htaccess
scp admin@host.com:file1 && scp admin@host.com:file2 && scp admin@host.com:file3
dan saya telah menetapkan kata sandi pada kunci SSH saya, itu meminta saya untuk kata sandi setiap saat, apakah ada cara untuk menggabungkannya ???
Tidak, bukan itu.
Satu-satunya hal yang dapat Anda buat, Anda dapat menggabungkan dua perintah ini dalam satu sudo
:
sudo sh -c 'touch .htaccess && chmod 766 .htaccess'
Solusi lain (tanpa hanya satu panggilan eksternal, tetapi juga dengan dua perintah):
sudo sh -c 'umask 011 && touch .htaccess'
&&
sebagai ganti ;
. Juga, secara umum saya hanya akan menggunakan dua sudo
perintah, karena itu berlebihan dan berisiko untuk menjalankan seluruh shell dengan hak istimewa yang tinggi, daripada hanya program yang tepat yang perlu dijalankan dengan mereka (dalam hal ini, sentuh dan chmod).
Tanda titik koma akan memungkinkan Anda menyesuaikan banyak perintah pada satu baris seperti ini:
sudo touch .htaccess; sudo chmod 766 .htaccess
&&
daripada menggunakan ;
ketika menjalankan perintah yang saling tergantung sehingga berhenti jika suatu perintah gagal.
pisahkan perintah dengan titik koma. (;)
Contoh
echo firstname; echo lastname;
&&
umumnya lebih baik daripada;
sehingga berhenti jika perintah pertama gagal, 2. umumnya lebih baik hanya menjalankan program spesifik yang diperlukansudo
, daripada mencoba menggabungkannya ke dalam satusudo
permintaan dan menjalankan lebih banyak kode dengan hak yang lebih tinggi dari yang diperlukan.