문자열에서 bash 변수 뒤에 공백을 피하는 방법은 무엇입니까?


17

색상에 대한 변수가 있습니다. 문자열 내부에서 색상을 평가하여 문자열에 색상을 설정하는 데 사용합니다. 그러나 이름 뒤에 공백을 포함해야합니다 (이름에 텍스트의 일부가 포함되지 않도록). 이것은 때때로 나빠 보인다.

이 공간을 사용 (인쇄)하지 않으려면 어떻게해야합니까?

예 (하자 말 그 Red=1NC=2)

echo -e "$Red Note: blabla$NC".

산출:

1 Note: blabla2.

예상 출력 :

1Note: blabla2.

답변:



4

사용 습관을 들여야 할 것은 printf입니다.

printf '%sNote: blabla%s\n' "$Red" "$NC"

각각 %s이 변수를 대체하는 곳 . 그리고는 -e의 printf 휴대용 방식 슬래시 값 \ n \ t 등을 수용로서 필요하지 않다.

echo -e다른 쉘로 이식 할 수 는 없습니다.

다른 옵션:

출력을 연결하는 두 가지 명령을 사용할 수 있습니다.

echo -ne "$Red"; echo -e "Note: blabla$NC"

간단한 문자열 연결을 사용할 수 있습니다.

echo -e "$Red""Note: blabla$NC"

또는 { }이름 텍스트 혼동을 피하기 위해 사용할 수 있습니다 .

echo -e "${Red}Note: blabla$NC"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.