[英]passing command line argument to bash shell script which is called from the c++ program
我只是從我的C ++程序調用Shell腳本。 Shell腳本成功執行。 但是我無法接收通過c ++程序傳遞給shell腳本的命令行參數。
#include<iostream>
int main()
{
system(". script.sh a b v d d");
return 0;
}
貝殼
echo "start | $2 | $1 | $3"
O / P:
./a.out
start | | |
當您要將外殼程序腳本的內容加載到當前外殼程序中時,將使用您使用的語法。 這意味着加載變量定義,函數等。
system(". script.sh a b v d d");
^^^^^^^^^^^
它等效於運行:
system("source script.sh a b v d d");
^^^^^^^^^^^^^^^^
您應該使用以下語法之一調用腳本:
system("./script.sh a b v d d");
system("bash script.sh a b v d d");
因此,當您執行程序時,唯一發生的是您的腳本是源代碼 。 沒有任何參數傳遞給它。 這給了您運行echo "start | $2 | $1 | $3"
而沒有任何輸入參數的輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.