Bash 프로그래밍에서는 변수(예: )가 주어지면 기호가 포함된 문자열을 varA
저장합니다 . 이 값이 포함되어 있다고 #
가정하면 앞에 백슬래시를 추가 해야 하므로 출력에는 다음이 포함될 수 있습니다 . 다음 코드는 문자열 대체가 작동하지 않는 것 같고 sed 명령의 출력을 다른 변수에 할당할 수 없다는 점을 제외하면 내 목표를 달성하는 데 효과적입니다. 이거 봤어?varA
ASD# 1
\
#
ASD\# 1
varA="ASD# 1"
echo $(sed s/\#/\\#/g <<< ${varA})
답변1
표현식 에 따옴표가 누락되었습니다 sed
.
노력하다:
$ varA="ASD# 1"
$ echo "$(sed 's/#/\\#/g' <<< "${varA}")"
ASD\# 1
답변2
sed
변수를 하나만 사용하면 오버헤드가 발생합니다. 당신이 bash
사용할 수있는 ${varA/\#/\\\#}
.