[linux] 여러 줄의 bash 코드를 터미널에 붙여넣고 한 번에 실행하려면 어떻게해야합니까?

여러 줄로 된 bash 코드를 터미널에 붙여 넣어야하지만 그렇게 할 때마다 각 줄은 붙여 넣는 즉시 별도의 명령으로 실행됩니다.



답변

\복사하기 전에 각 줄의 끝에 넣어보십시오 .

예:

echo "Hello world" && \
script_b.sh

echo $?

종료 코드 ( $?)는 이제 마지막 명령이 아닌 전체 명령 시퀀스입니다.


답변

나는이 대답이 여기에 제공되지 않는다는 것에 정말 놀랐습니다.이 질문에 대한 해결책을 찾고 있었으며 이것이 가장 쉬운 접근 방식이며 더 유연하고 관용적이라고 생각합니다 …

웹 사이트 / 텍스트 편집기 등의 여러 줄을 bash에 붙여 넣으려면 한 줄당 명령이든 함수이든 전체 스크립트이든 상관없이 … a로 시작 (하고 a )와 Enter로 끝내기 만하면됩니다. 다음 예에서 :

다음 blob이있는 경우

function hello {
    echo Hello!
}
hello

bash를 사용하여 터미널에 붙여넣고 확인할 수 있습니다.

  1. 로 시작 (

  2. 텍스트를 붙여넣고 Enter 키를 눌러 (예쁘게 만들기 위해) …

  3. a로 끝나고 )Enter 키를 누릅니다.

예:

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

붙여 넣은 텍스트는 자동으로 >각 줄 의 앞에 추가 됩니다. 한 줄, 함수 및 전체 스크립트를 사용하여 여러 줄로 테스트했습니다. 이것이 다른 사람들이 시간을 절약하는 데 도움이되기를 바랍니다!


답변

C-x C-e명령을 누르면 정의 된 기본 편집기가 열립니다..bashrc 모든 강력한 기능을 사용할 수 있습니다. 저장하고 종료하면 라인이 입력을 기다립니다.

편집기를 정의하려면 Ex로 작성하십시오. EDITOR=emacs -nw또는 EDITOR=vi내부~/.bashrc


답변

백 슬래시 외에도 줄이 |또는 &&또는로 끝나는 경우 ||다음 줄에서 계속됩니다.


답변

줄 주위에 괄호를 추가합니다. 예:

$ (
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
)


답변

또 다른 가능성 :

bash << EOF
echo "Hello"
echo "World"
EOF


답변

텍스트 파일에서 긴 줄의 명령을 방지하기 위해 다음과 같이 copy-pase 스 니펫을 유지합니다.

echo a;\
echo b;\
echo c