.sh 스크립트에서 다음 형식을 시도하고 있습니다.
echo 'string' $var >> print.dat
다음을 인쇄합니다.
'string' 14.27
이것이 내가 원하는 것과 거의 같지만 따옴표를 사라지게 해야 합니다. 나에게 필요한 것은:
string 14.27
여기에 해결책을 아는 사람이 있나요? 이것은 간단한 질문이라고 확신하지만 주변을 검색했지만 원하는 것을 찾을 수 없습니다. 어쩌면 정확히 무엇을 검색해야 할지 모르겠습니다.
편집하다:
도움을 주셔서 감사하지만 인정하기는 싫지만 제가 아주 어리석은 실수를 저질렀습니다. print.dat에서는 원하는 대로 계속 인쇄되지만 출력을 보려면 sh -x를 사용하므로 문자열 주위에 따옴표가 표시됩니다.
답변1
echo 'string' $var >print.dat
그러면 아무것도 표시되지 않지만 다음 값 (참조가 없기 때문에 일부 변환이 진행될 수 있음)을 파일에 string
씁니다 . 문자열 주위의 따옴표가 제거됩니다.$var
print.dat
별칭을 지정 하지 않았는지 확인하세요 echo
. 동일한 이름을 가진 별칭이나 셸 함수를 우회하려면 다음을 사용하세요.
command echo 'string' $var >print.dat
아니면 /bin/echo
대신 사용하세요 echo
.
printf
일반적으로 다음보다 이식성이 뛰어난 방법을 사용할 수도 있습니다 echo
.
printf 'string %s\n' "$var" >print.dat
답변2
이 해결 방법은 작업을 수행합니다(셸 백슬래시 백틱에 따라 다름).
echo 'string' $var | tr -d \' >> print.dat