sed에서 입력 읽기

sed에서 입력 읽기

저는 쉘 스크립팅을 처음 접했습니다. 조금씩 배우고 있어요. 나는 PHP에 더 익숙하고 지금은 나에게 불리하게 작용하고 있습니다.

어쨌든 저는 다음을 사용하여 쉘 스크립트를 작성하고 입력을 읽고 있습니다.

read $foo

이제 다음과 같이 sed 문자열 대체에 이 변수를 사용하고 싶습니다.

sed -i 's/replaceme/$foo' myfile.txt

내가 얻는 것은 $foo가 실제로 동일하지 않은 문자 그대로의 대체입니다. 대신, 나는 그것이 사용자의 입력이 되기를 원합니다:

예:

이 줄( read $foo)을 사용하세요. "bar"를 입력했다고 가정해 보겠습니다. 그러므로$foo='바'사용자 입력에서.

현재 출력: $foo

원하는 출력 bar

이것이 의미가 있기를 바랍니다.

답변1

짧은 대답: 작은 따옴표 대신 큰 따옴표를 사용하십시오.

작은따옴표는 쉘 변수가 확장되는 것을 방지하지만 큰따옴표는 그렇지 않습니다.

자세한 내용은 다음을 참조하세요.http://www.grymoire.com/Unix/Quote.html

자세한 내용은 셸 문서에 포함되어 있으며 셸마다 약간의 차이가 있지만 기본은 거의 모든 Unix 스타일 셸에서 동일합니다.

관련 정보