![将“$”(美元符号)打印到文件中](https://linux22.com/image/548655/%E5%B0%86%E2%80%9C%24%E2%80%9D%EF%BC%88%E7%BE%8E%E5%85%83%E7%AC%A6%E5%8F%B7%EF%BC%89%E6%89%93%E5%8D%B0%E5%88%B0%E6%96%87%E4%BB%B6%E4%B8%AD.png)
我想将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 标准化功能。