Chciałbym napisać następujące w jednym wierszu w terminalu lub jeśli istnieje krótszy sposób na utworzenie pliku i ustawienie uprawnień, proszę o komentarz.
sudo touch .htaccess
sudo chmod 766 .htaccess
Bardzo mile widziane
Użyj „&&”, aby warunkowo uruchomić drugie polecenie, jeśli pierwsze się powiedzie.
sudo touch .htaccess && sudo chmod 766 .htaccess
&&
jest ogólnie lepsze niż;
zatrzymywanie się, jeśli pierwsze polecenie się nie powiedzie, 2. ogólnie lepiej jest uruchamiać tylko potrzebny programsudo
, niż próbować połączyć je w jednosudo
wywołanie i uruchomić więcej kodu z podwyższonymi uprawnieniami niż to konieczne.scp [email protected]:file1 && scp [email protected]:file2 && scp [email protected]:file3
i ustawiłem hasło do mojego klucza SSH, to ciągle pyta mnie o hasło, czy istnieje sposób, aby je połączyć?Nie, nie jest.
Jedyne, co możesz zrobić, możesz połączyć te dwa polecenia w jednym
sudo
:Inne rozwiązanie (bez jednego połączenia zewnętrznego, ale także z dwoma poleceniami):
źródło
&&
zamiast;
. Poza tym generalnie użyłbym dwóchsudo
poleceń, ponieważ uruchamianie całej powłoki z podwyższonymi uprawnieniami jest nadmierniejsze i bardziej ryzykowne, niż tylko dokładne programy, które muszą z nimi działać (w tym przypadku touch i chmod).Średniki pozwolą ci zmieścić wiele poleceń w jednym wierszu w następujący sposób:
sudo touch .htaccess; sudo chmod 766 .htaccess
źródło
&&
zamiast;
uruchamiania poleceń współzależnych, aby przestało działać w przypadku niepowodzenia polecenia.rozdziel polecenia średnikiem. (;)
Przykład
źródło