Yanıtlar:
'& Amp; & amp;' ilki başarılı olursa, koşullu olarak ikinci komutu çalıştırmak için.
sudo touch .htaccess & amp; & amp; sudo chmod 766 .htaccess
scp admin@host.com:file1 && scp admin@host.com:file2 && scp admin@host.com:file3
ve SSH anahtarımın şifresini ayarlamıştım, her zaman şifremi soruyor, birleştirmenin bir yolu var mı ???
Hayır öyle değil.
Yapabileceğiniz tek şey, bu iki komutu bir arada birleştirmek sudo
:
sudo sh -c 'touch .htaccess && chmod 766 .htaccess'
Başka bir çözüm (yalnızca bir dış arama ile, aynı zamanda iki komutla birlikte):
sudo sh -c 'umask 011 && touch .htaccess'
&&
yerine ;
olsa. Ayrıca, genel olarak sadece iki kullanırdım sudo
komutlar, çünkü onlarla birlikte çalışması gereken tam programlardan ziyade yükseltilmiş ayrıcalıklara sahip bir kabuğun tamamını çalıştırmak riskli ve risklidir (bu durumda, dokun ve chmod).
Noktalı virgül, aşağıdaki gibi tek bir satıra birden çok komut yerleştirmenize izin verir:
sudo touch .htaccess; sudo chmod 766 .htaccess
&&
yerine ;
Birbirine bağlı komutları çalıştırırken bir komutun başarısız olması durumunda durmasını sağlar.
komutları noktalı virgül ile ayırın. (;)
Örnek
echo firstname; echo lastname;
&&
genellikle daha iyidir;
böylece ilk komut başarısız olursa durur, 2. genellikle sadece gerekli olan belirli programı çalıştırmak daha iyidirsudo
, onları tek bir araya getirmeye çalışmak yerinesudo
gereğinden fazla ayrıcalıklarla daha fazla kod çalıştırma ve çalıştırma