我想将echo
/printf
美元符号放入一个文件中 - 但echo $ > myfile
或 这样不起作用(这并不奇怪)。
我尝试过类似的方式来逃避它echo \$ > myfile
,但它也不起作用。
正确的操作方法是什么?
我正在与 TCSH 合作开发 SunOs。
答案1
您可以使用 printf 和单引号来避免变量扩展:
printf '$' > myfile
答案2
从这链接,您可以使用 \x24 方法,其中 24 是美元符号的十六进制。只是这种结构在使用双引号的字符串中不能 100% 起作用,所以您可能想使用单引号。所以这个语句
echo "Foo "$'\x24'" bar" >> somefile
将创建内容为
Foo $ bar
笔记:tcsh(在原始问题中提到的名字)不支持美元引号文字(例如$'\x24'
)。 dash 也不支持。 它不是 POSIX 标准化功能。