Как выполнить строку вывода без подстановки команд bash?

Удалить epel-6 репо

yum remove epel-release

Включить epel-7 репо:

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.‌​noarch.rpm
rpm -ivh epel-release-latest-7.‌​noarch.rpm

или

wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
rpm -ivh epel-release-7-9.noarch.rpm

отредактируйте файл /etc/yum.repos.d/epel.repo и убедитесь, что у вас enabled = 1

, или запустите yum-config-manager --enable epel

затем установите openvpn :

yum update
yum install openvpn easy-rsa
1
13.07.2017, 15:55
2 ответа

Ответ

Вы не можете повторно использовать вывод команды, которая не была захвачена явным образом (каналы и т. д. ), если только вы -не выполните команду и не захватите вывод самостоятельно.

Bash не сохраняет вывод команды ни в каких переменных, в отличие от того, как он хранит коды выхода команд и историю команд. Ваш терминал имеет вывод, и bash также не беспокоится о сохранении копии для себя.

Так что, если вы хотите полностью избежать подстановки команд, я приду к выводу, что отсюда вы туда не попадете.

Опции

Если на самом деле возникает вопрос: «Как я могу легко получить вывод, который я вижу в строке выше в терминале, и вставить его в командную строку как команду без большого количества ввода?» вы можете решить это несколькими способами.

  1. Используйте сочетания клавиш readline, чтобы упростить редактирование команды.

Например, ваш ответ на прекрасное предложение @choroba в другом месте заключается в том, что редактирование последней команды требует слишком большого объема ввода. Горячие клавиши строки чтения CTRL -a и CTRL -e позволяют редактировать последнюю команду (, достигнутую с помощью CTRL -p вместо ВВЕРХ waaaay вправо )гораздо быстрее.

  1. Используйте терминальный мультиплексор, например screenили tmux. Я предпочитаю tumx. Копирование и вставка довольно безболезненны с помощью простого CTRL -aCTRL -[ для перехода в режим копирования и еще нескольких клавиш VI, и вы только что скопировали нужную строку прямо в следующая подсказка (с настройкой tmuxс CTRL -ведущей клавишей .

Надеюсь, это предлагает некоторые другие точки зрения.

1
27.01.2020, 23:33

xargs выполняет команду, указанную вами для аргументов, считанных из стандартного ввода. Если команда не указана, используется echo.

С помощью xargs xargsпервый xargs считывает команды и запускает

xargs sudo apt-get install tshark

но стандартного ввода больше нет, поэтому аргументы больше не добавляются. Но так как нет стандартного ввода, то нет и ответов на интерактивные вопросы -, которые они считывают со стандартного ввода, подключенного к каналу, который теперь исчерпан. Вы можете попробовать запустить apt -get с помощью --yes. (Запрос пароля работает, так как пароли не считываются со стандартного ввода по соображениям безопасности ).

1
27.01.2020, 23:33

Теги

Похожие вопросы