Этот обходной путь может решить задачу (изменить обратную косую черту на обратную косую черту `в соответствии с вашей оболочкой):
echo 'string' $var | tr -d \' >> print.dat
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