배시를 쓰는데 햇갈렸던 부분을 정리해 본다.
나도 배시를 가끔 짜지만 이런것들이 없으면 참 짜증이 난다. 그래서 블로그를 정리해 본다. 역시 오늘도 코드로 애기해 본다.
두 명령을 세미콜론 대신 && 나 || 연결할 수도 있다.
cd $DIR && ls 는 먼저 cd의 실행이 설공했을 때만 ls를 실행한다.
cd $DIR || echo 'cd 실패'는ㄴ cd 명령이 실패했을 때만 echo 명령어를 실행한다.
[tonyspark:579:~ $] DIR=
[tonyspark:580:~ $] cd $DIR && ls
2 naver.log naver.log2 project 공개 다운로드 문서 바탕화면 비디오 사진 음악 템플릿
[tonyspark:581:~ $] DIR=1
[tonyspark:582:~ $] cd $DIR && ls
bash: cd: 1: 그런 파일이나 디렉터리가 없습니다
[tonyspark:583:~ $] cd $DIR || ls
bash: cd: 1: 그런 파일이나 디렉터리가 없습니다
2 naver.log naver.log2 project 공개 다운로드 문서 바탕화면 비디오 사진 음악 템플릿
[tonyspark:584:~ $]
[[ -d $DIR ]] && ls "$DIR"
[tonyspark:588:~ $] [[ -d /tmp ]] && ls /tmp
VMwareDnD systemd-private-7e95ce236f894f81a321ec71bd89b7b6-ModemManager.service-BuKkeu
'VSCode Crashes' systemd-private-7e95ce236f894f81a321ec71bd89b7b6-colord.service-0MP5Rd
_cafenv-appconfig_ systemd-private-7e95ce236f894f81a321ec71bd89b7b6-rtkit-daemon.service-JbBfaK
config-err-MDOrFP systemd-private-7e95ce236f894f81a321ec71bd89b7b6-systemd-resolved.service-ro0Qky
fcitx-socket-:0 systemd-private-7e95ce236f894f81a321ec71bd89b7b6-systemd-timesyncd.service-bkOsUE
mintUpdate vmware-root
ssh-b3xUB8lHicx8 vmware-tonyspark
[[ -d $DIR ]] || { echo "오류: $DIR"; exit; }