KSH-HP-SOL-Lin POSIX가 필요함유닉스 테스트 명령어 결합 && + ||
여러 조건이 사실인지 테스트하고 싶습니다.
가정 : $STRING
가 null의 경우
if [[ $FIELDS -ne 0 && ! -z $STRING ]]; do
이, 잘 작동하지만 가끔은이 있습니다
FIELDS=0
$STRING=''
또는$STRING=' '
는 지금은이 하나의 공간. 먼저 두 개의 $STRING
테스트를 처리 할 수 있습니까? 개념적으로, 내가 동등한 싶습니다, 나는 값이 (널 (null)과 공간 사이)로 설정되어 있으리라 믿고있어 $ STRING이 하나의 공간이 될 수 있습니다 염두에
[[ $FIELDS -ne 0 && [ ! -z $STRING || $STRING = ' ' ] ]]
을 사용하여'[['지정되지 않은 결과가 발생합니다. POSIX가 되려면'['또는'test'를 사용해야합니다. –
@WilliamPursell'[[''불특정 결과를 초래하지 않습니다. 비 POSIX 호환 결과 또는 이식 가능하지 않은 결과 (예, 'bash' 또는'ksh' 또는'zsh') 또는 수행되는 모든 쉘은 결과가 무엇인지 지정합니다. – twalberg
@twalberg 표준에서 인용 :'다음 단어는 일부 구현시 예약어로 인식 될 수 있습니다 (아무 문자도 인용되지 않은 경우). 지정되지 않은 결과가 발생합니다. [[]] function select' –