true 가 0인가요??
31561
작성한 질문수 8
3분 40초 쯤에 설명하실 때, true = 0, false = 1 이라고 말씀 하셨는데,
C++, java 등의 컴퓨터 언어에선 true=1, false=0 으로 사용하고 있잖아요.
쉘 스크립트 에서만 true = 0 인 건가요?
답변 1
2
윤동희님 안녕하세요:) 질문에 답변드립니다.
말씀하신 것처럼 프로그래밍 언어에서는 1은 참이고, 0은 거짓으로 처리됩니다
반면, 리눅스 쉘에서는 명령의 종료 상태 값은 0을 참으로, 1을 거짓으로 처리하고 있습니다
쉘에서의 함수 종료 처리 또한 마찬가지죠. 정상(exit 0), 오류(exit 1)
아래 예문들은 그 특징을 잘 보여줍니다
admin☠️ true;echo $?
0
admin☠️ false;echo $?
1
admin☠️ if true; then echo true; else echo false; fi
true
admin☠️ if false; then echo true; else echo false; fi
false
admin☠️ if (true); then echo true; else echo false; fi
true
admin☠️ if (false); then echo true; else echo false; fi
false
admin☠️ if $(true); then echo true; else echo false; fi
true
admin☠️ if $(false); then echo true; else echo false; fi
false
그러나, 산술 확장의 경우는 예외적으로 프로그래밍 언어에서의 참(1)과 거짓(0) 논리 규칙을 따릅니다
admin☠️ if ((0)); then echo true; else echo false; fi
false
admin☠️ if ((1)); then echo true; else echo false; fi
true
여기까지 입니다. 좋은 질문 주셨네요. ㅎㅎ
59회차 학습 미작동
0
68
2
BASH_REMATCH 변수가 어디서 나온거죠?
1
916
1
${object%%:*}, ${object#*:}는 어떤 뜻인가요
2
397
1
./euid.sh
2
398
1
touch 'Gone with the wind.mp3' 입력 결과가 다릅니다
1
365
1
스크립트에서 %는 무엇을 의미하나요?
1
520
1
하드 링크, 심볼릭 링크
1
691
2
[..]와 테스트 강의에서
1
389
1
하드 링크, 심볼릭 링크
0
631
1
변수명이 출력되지 않습니다.
1
287
1
변수명 출력이 되지 않습니다.
0
345
1
select in case문 질문
0
231
1
crontab 질문이 있습니다.
1
226
2
(..)_(..) 와 BASH_REMATCH
1
748
1
^[.+] 정규표현식이 RegExr 를 나타내는게 맞나요?
1
390
2
실습자료를 다운받은 다음에 어떻게 해야 하나요?
0
437
3
sudo cp helloworld.sh /usr/bin 명령어 질문
1
604
1
read -p 명령어가 동작하지 않습니다.
2
351
1
wc 명령어에 -L 옵션이 동작하지 않습니다.
1
437
1
book이 변수가 아니라 파일인가요?
1
358
1
sed 관련 질문
1
641
2
파일접근권한 강의
1
146
1
[] 결과
2
213
1
# (주석) 관련 질문 드립니다.
1
166
1





