Подтвердить что ты не робот

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

Мне нужно вставить многострочный bash код в терминал, но всякий раз, когда я это делаю, каждая строка запускается как отдельная команда, как только она вставлена.

4b9b3361

Ответ 1

Попробуйте положить \ в конце каждой строки перед копированием.

Ответ 2

Если вы нажмете команду C-x C-e, которая откроет ваш редактор по умолчанию, который определит .bashrc, после этого вы сможете использовать все мощные функции вашего редактора. Когда вы сохраните и выйдете, строки будут ждать ввода.

Если вы хотите определить свой редактор, просто напишите для Ex. EDITOR=emacs -nw или EDITOR=vi внутри ~/.bashrc

Ответ 3

В дополнение к обратному косую черту, если строка заканчивается на | или && или ||, она будет продолжена на следующей строке.

Ответ 4

Я действительно удивлен, что этот ответ здесь не предлагается, я искал решение этого вопроса, и я думаю, что это самый простой подход и более гибкий/прощающий...

Если вы хотите вставить несколько строк из веб-сайта/тестового редактора/и т.д. в bash, независимо от того, будет ли он командовать на строку или функцию или весь script... просто начните с ( и закончите с помощью ) и Enter, как в следующем примере:

Если у меня был следующий blob

function hello {
    echo Hello!
}
hello

Вы можете вставлять и проверять в терминале с помощью bash по:

1) Начиная с (

2) Вставка текста и нажатие Enter (чтобы сделать его красивым)... или нет

3) Завершение с помощью ) и нажатие Enter

Пример:

imac:~ home$ ( function hello {
>     echo Hello!
> }
> hello
> )
Hello!
imac:~ home$ 

Вставляемый текст автоматически продолжается с добавлением > для каждой строки. Я тестировал несколько строк с командами на строку, функции и целые скрипты. Надеюсь, это поможет другим сэкономить время!

Ответ 5

Чтобы предотвратить длинную строку команд в текстовом файле, я сохраняю свои фрагменты в виде копии:

echo a;\
echo b;\
echo c

Ответ 6

Добавьте круглые скобки вокруг строк. Пример:

$ (
sudo apt-get update
dokku apps
dokku ps:stop APP # repeat to shut down each running app
sudo apt-get install -qq -y dokku herokuish sshcommand plugn
dokku ps:rebuildall # rebuilds all applications
)

Ответ 7

Try

out=$(cat)

Затем вставьте свои строки и нажмите Ctrl-D (введите символ EOF). Весь ввод до Ctrl-D будет перенаправлен на cat stdout.

Ответ 8

Почему бы не импортировать его из файла?