当试图在unix中创建文件时,该文件中有$,它会抛出一个数字?

时间:2016-09-30 10:18:09

标签: unix parameterization

尝试使用shell脚本创建包含以下数据的文件。

InsertParam.sh

echo "$$Domain=XYZ" >parameter.prm

当我运行 InsertParam.sh 时 我出去了

$cat parameter.prm
1979205Domain=XYZ

请在我的 parameter.prm

中帮助我解决这个问题

我需要数据

$$Domain=xyz

1 个答案:

答案 0 :(得分:2)

sh/bash/ksh/zsh中,$$是当前的PID。见https://www.gnu.org/software/bash/manual/bashref.html#Special-Parameters

您需要使用不同的引号来阻止扩展该变量:

echo '$$Domain=XYZ' >parameter.prm

请参阅https://www.gnu.org/software/bash/manual/bashref.html#Quoting

报价可以根据需要混合使用:

echo '$$Domain='"$domain" >parameter.prm