В данном конкретном случае - когда вход состоит только из /start/, /end/
блоков, вы можете просто сделать
sed '1,/end/d;//q' infile
Если между этими блоками есть другие строки (не совпадающие с end
), то
sed '1,/end/d;/start/,/end/!d;/end/q' infile
Для более общего случая, когда извлекаемый блок является n
ым, вы можете выполнить:
n=5
awk -vc=$n '/start/{i++};{if (i==c){print;if (/end/){exit}}}' infile
Я не вижу -S
на справочной странице yum. У вас есть основания полагать, что это что-то значит?
Может быть, вы имеете в виду echo $password | sudo -S yum -y install python-pip
?
echo $password
плохая безопасность. Можешь настроить /etc/sudoers
разрешить пользователю запускать apt-get
и yum
без запроса пароля?
Я бы посоветовал вам запустить весь скрипт с помощью sudo, чтобы все внутри запускалось от имени пользователя root.
Для большинства операций вы можете выполнить деэскалацию для непривилегированного пользователя для выполнения не -критических задач, например в формеsudo -u nobody command