2014-01-22 3 views
3

간단한 ksh 스크립트를 작성하고 있습니다. 문자열이 비어 있는지 확인해야합니다. 그렇게하는 방법? ,ksh에서 빈 문자열을 확인하는 방법

findRes=`find . -name believe | xargs grep -q "ser"` 
if [ "${findRes:-unset}" != "unset" ];then 

    print "${file}" 
fi 
+1

작동 - 이렇게하는 것은 그래서 뭔가처럼 ... 비워 둘 수 없습니다를'경우 [ "$ {findRes : -unset}"! = "unset"]; "$ {}"을 출력하십시오; 그렇지 않으면 "findRes가 비어있을 때 무언가를하십시오"라고 인쇄하십시오. fi' – csiu

답변

3

빈은 문자가없는 문자열을하지만, 정의,이 경우

[ -z "${MyVar}" ] 

널 (null)이 당신의 작업을하지 않을 경우 반환 빈 응답 도, 실패했을 경우 그래서이 내가 가진 무엇 검색 패턴

1

test-n 옵션을 사용하거나 ksh/bash를 찾을 수없는 경우 grep -q[ $? -ne 0 ] 테스트 할 수 76,... ]] 당량 :

string_not_empty() { [[ -n $1 ]]; } 

강한 변동 파라미터 확장 단언 구문을 사용한다 : 현재 함수를이 에러를 올릴

var=${1:?string must not be empty} || return 

및 중단

0

경우 [ "$ var"= ""]; 다음

도 난 당신이 "해제"로 $ findRes` 기본값`만든 이래이`else`이 충분해야 추가한다고 생각

관련 문제