답변:
&&
또는로 명령을 구분할 수 있습니다 ;
.
&&
이전 명령이 상태 0 (종료)으로 종료 된 경우에만 다음 명령을 실행합니다.
command1 && command2 && command3
;
이전 명령이 0이 아닌 상태로 종료 되더라도 모든 명령을 실행합니다.
command1; command2; command3
원하는대로 이러한 구분 기호를 결합 할 수 있습니다.
command1 && command2
지령 1이 성공하면 Command2를에만 실행됩니다.
sudo apt upgrade
하고 sudo systemctl reboot
, 당신은 두 번 'sudo를'을 추가해야하거나 두 번째 명령 sudo는을 '기억'할 것인가?
한 번의 요청으로 각 명령을 한 줄에 입력하려면 다음 방법을 사용할 수 있습니다.
(첫 번째 줄)을 사용하여 요청을 시작하고 if :; then
(이것은 true이면 수행하십시오) Enter; 프롬프트가 지금 바뀌고 >
아무 것도 실행되지 않습니다.
각각의 명령을 입력 한 다음 Enter
fi
(위 if
조건의 끝) 를 사용하여 요청을 완료하고을 누릅니다 Enter. 이제 모든 명령이 주어진 순서대로 실행됩니다.
예:
radu@Radu: ~ $ if :; then
> echo 'something'
> echo 'something else'
> echo 'List current directory contents:'
> ls
> echo 'Change current directory with root directory:'
> cd
> #finish
> fi
something
something else
List current directory contents:
Backups Desktop forma3d Public Untitled txt.txt~
bin Documente Music Templates Videos
configuration.php examples.desktop passwd~ tmp~
Downloads file~ Poze Ubuntu One
Change current directory with root directory:
radu@Radu: / $
if true; then
원하는 경우 더 명확하게 읽을 수 있습니다. 언뜻보기에 :
혼란 스러울 수 있습니다 ;
.
먼저, {
자신의 라인에 넣습니다 .
그런 다음 명령을 삽입하십시오.
그런 다음 }
줄을 바꾸고를 누릅니다 Enter. 명령이 실행됩니다.
예:
{
echo list
echo of
echo commands
echo to run at once
}
인쇄됩니다 (한 번에 프롬프트없이 중간에).
list
of
commands
to run at once
참고로 { .. }
Bash 명령 그룹화 구문이 있습니다. 종종 &&
또는 ||
( 'and'및 'or') 와 함께 유용합니다.
if :; then
이미 언급 한 것과 동일 합니까? 아니면 약간 다른가요?
if :
null 명령에 대해 테스트를 실행하며 항상 true를 반환합니다. { .. }
명령을 그룹화하기 만하면됩니다. 나는 개인적 { .. }
으로 기억하기가 더 쉽다.