簡體   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