bash를 사용하여 변수에서 밑줄 제거

bash를 사용하여 변수에서 밑줄 제거

bash 변수에 저장된 문자열에서 모든 밑줄을 제거하는 방법은 무엇입니까?

myVar현재 string 을 포함하는 변수가 있습니다 foo1234_. 그러나 밑줄은 다른 곳에도 가능합니다.

밑줄을 제거하고 싶었지만 결과가 myVar="${myVar//_}"나왔습니다 . Bad substitution내가 뭘 잘못했나요?

답변1

매개변수 확장을 사용한 대체 유형:

underscored=A_B_C
echo "${underscored//_}"

//모든 항목을 대체합니다. 빈 문자열로 바꾸는 경우 마지막 항목을 생략할 수 있습니다 /.

답변2

이 간단한 변수 재할당은 트릭을 수행합니다.

myVar=${myVar//_/}

산출:

# myVar="hello_world__1"
# echo $myVar
hello_world__1
# myVar=${myVar//_/}
# echo $myVar
helloworld1

관련 정보