[bash: ;] 한줄에 여러개의 명령 입력하기 리눅스 bash script

터미널창에서 한줄에 여러개의 명령을 입력하고 싶을 경우 엔터로 줄바꿈을 하는 대신 세미콜론(;)으로 구분해 주면 된다. 우선 아래의 간단한 예시를 보자.

echo "abc"; echo "def"
abc
def

세미콜론 이후에 다음 명령을 바로 붙여 써도 무방하나, 가독성을 생각해서 한칸을 비우는 것이 더 좋을 듯.

for 또는 while 반복문의 경우, do 다음에 세미콜론을 쓰지 않음에 유의.

# for 반복문 (여러줄)
for filename in `ls | grep "\.txt"`
do
  echo "$filename"
done


# for 반복문 (한줄)
for filename in `ls | grep "\.txt"`; do echo "$filename"; done

if 조건문도 한줄로 쓸 수 있다.

# if 조건문 (여러줄)
if [[ $a -eq 0 ]]
  then echo "zero"
  else echo "non-zero"
fi


# if 조건문 (한줄)
if [[ $a -eq 0 ]]; then echo "zero"; else echo "non-zero"; fi

문서 편집기로 스크립트 파일을 만들지 않고 간단한 반복문이나 조건문을 터미널창에서 곧바로 사용하고 싶을 때 편리하다.



덧글

  • 슝슝잉여 2016/06/30 05:49 # 답글

    터미널에서 gedit로
    Txt 두파일을 동시 열때
    ; 은 차례대로 한개 끄면 이어서
    & 은 동시에 열리더라구요
  • 반달가면 2016/06/30 20:55 #

    세미콜론(;)은 앞의 명령이 종료된 후에 다음 명령이 실행되므로 처음에 실행된 gedit 프로세스가 종료된 후에 다음 것이 실행됩니다. &의 경우 백그라운드로 실행하니까 동시에 열릴 수 있구요.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.

Google Analytics


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

607300
3990
1845251

ad_widget_2