Ответы:
Используйте '&&' для условного запуска второй команды, если первая успешна.
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
вызов и запустить больше кода с повышенными привилегиями, чем необходимо.