==============
#shell script
sudo ls
==============
Когда я выполняю его, скрипт запрашивает пароль. Я хотел бы добавить свой пароль как часть сценария или аргумента. Как я могу это сделать?
echo password | sudo -S command
Таким образом, вы перенаправляете свой пароль в sudo, а команда -S заставляет sudo читать ваш пароль со стандартного ввода вместо терминала.
Вот небольшой сценарий. Когда вы запустите скрипт, он спросит ваш пароль во всплывающем окне.
#!/bin/bash
ENTRY=$(zenity --password)
if [ $ENTRY ]; then
echo -e "$(echo $ENTRY)" | sudo -S date
else
echo "abort"
fi
sudo ls
И это совершенно безопасно, поскольку он нигде не хранит ваш пароль и не позволяет отображать символы во время ввода пароля.