繁体   English   中英

如何使用特殊的char $和'来获取字符串

[英]How to get the string with special char $ and '

我有一个基本问题,但无法弄清楚如何做到这一点。

我需要使用C文件中的密码来构建命令字符串并执行该命令。我正在使用Linux。

我正在做的是

sprintf(command, "mycommand with password=$passw'ord");
system(command);

当我使用我面对的问题是'命令执行如下过程'$passw\\'ord' ,它不工作。

当尝试如下

sprintf(command, "mycommand with password='$passw\\'ord'"); //在终端中不显示> ,并且显示错误为未终止的'

但是当仅传递'$password'有效时,但我也需要传递'字符。

要尝试我们可以使用

echo  '$password' //working
echo  '$passw\\'ord' //Not working

这个有什么需要的吗

除了单引号( ' )字符外,其他所有内容都可以包含在单引号字符串中,且不能转义。 Bash对单引号字符串没有特殊的解释 ,只是通过文字字符传递。

请记住,支持自由混合使用单引号和双引号的字符串。 从而

$ echo 'my command with password=$passw'"'"'ord'
my command with password=$passw'ord

作品。 C中,这将转化为

char const *cmd = "'my command with password=$passw'\"'\"'ord'";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM