Shell Script
-
poetry 1.2.0의 bash completion 오류와 대응 방법Programmer/Programming 2022. 9. 6. 12:09
poetry version 1.2.0 업그레이드 이후, 터미널을 열면 아래와 같은 오류가 뜬다. line 40: syntax error near unexpected token `clear' line 40: ` (cache clear)' 로그인쉘이 기동할 때, poetry의 bash의 자동 확장 기능 스크립트를 실행하면서 발생하는 오류이다. 문제의 원인부터 말하자면, /usr/local/Cellar/poetry//etc/bash_completion.d/poetry의 bash 자동 확장 스크립트의 case 패턴에 공백이 들어갔기 때문이다. 해결 방법은 이 공백을 처리해주면 된다. 두가지 방법을 제기할 수 있는데, 하나는 패턴을 쌍따옴표(”)로 감싸는 방법과 case "$com" in # ... skip ....
-
쉘스크립트에서 안전하게 문자열(string)을 비교하는 방법Programmer/Computer Skills 2016. 9. 30. 16:50
두 문자열을 안전하게 비교할 때는 if [ x$A == x$B ]; then echo $1 fi 또는 if [ "$A" == "$B" ]; then echo $1 fi 를 사용한다. 빈 문자열인지 안전하게 검사하는 방법은 if [ x$A == x ]; then echo $1 fi 또는 if [ "$A" == "" ]; then echo $1 fi 내지는 if [ -z "$A" ]; then echo $1 fi 이 있다. x와 같은 문자를 추가하거나 인용문자(")로 둘러싸지 않으면 빈문자열이거나 옵션 형태의 문자열이 들어오면 오류가 발생할 수 있다. 아래와 같이 STRING을 따옴표로 둘러싸지 않으면 [ -z STRING ] STRING이 "-n", "-p" 등을 포함한 옵션 형태의 문자열이 들어오면 문제..