标签: c
我有这段代码:
strcat(arg1, argv[1]); printf("%s\n", arg1);
它运作良好,但是当我传递像“$$”这样的参数时,我得到输出中的数字,而不是美元符号。什么是最简单的解释和解决方案?
例如
./main.bin "$$$"
输出:
8789
答案 0 :(得分:1)
在bash之类的unix shell中,$$是一个包含当前进程ID的变量。使用'$$'或\$\$来阻止shell变量扩展。
$$
'$$'
\$\$