Відповіді:
Використовуйте "&&", щоб умовно запустити другу команду, якщо перша успішна.
sudo touch .htaccess && sudo chmod 766 .htaccess
scp admin@host.com:file1 && scp admin@host.com:file2 && scp admin@host.com:file3
і я встановив пароль на своєму ключі SSH, він весь час просить мене пароль, чи є спосіб його комбінувати ???
Ні, це не.
Єдине, що ви можете зробити, ви можете об'єднати ці дві команди в одну sudo
:
sudo sh -c 'touch .htaccess && chmod 766 .htaccess'
Ще одне рішення (з одним зовнішнім дзвінком, але також з двома командами):
sudo sh -c 'umask 011 && touch .htaccess'
&&
замість цього ;
. Крім того, загалом я б просто скористався двома sudo
командами, оскільки це зайвий і ризикований запуск цілої оболонки з підвищеними привілеями, а не лише точні програми, які потрібно запускати з ними (у цьому випадку touch і chmod).
Точка з комою дозволить вам встановити кілька команд у одному рядку, як це:
sudo touch .htaccess; sudo chmod 766 .htaccess
&&
замість того, ;
щоб виконувати взаємозалежні команди, щоб вона зупинялась, якщо команда не вдається.
відокремте команди крапкою з комою. (;)
Приклад
echo firstname; echo lastname;
&&
як правило, краще, ніж;
так, що воно зупиняється, якщо перша команда не працює, 2. загалом краще лише запускати потрібну програмуsudo
, а не намагатися поєднувати їх в однеsudo
виклик та запуск більше коду з підвищеними привілеями, ніж потрібно.