当前位置: 技术问答>linux和unix
shell传参数问题
来源: 互联网 发布时间:2017-03-08
本文导语: 我写的shell程序传入的参数是 s1 s2都是字符串。 s1是 -P 22 /home/ s2是/home 这样在程序中,直接system调用的话,会出现只把-P 22分别给了s1,s2,怎么处理这个问题,让-P 22 /home/ 传给s1,/home传给s2? | 使用system调用的...
我写的shell程序传入的参数是
s1 s2都是字符串。
s1是 -P 22 /home/
s2是/home
这样在程序中,直接system调用的话,会出现只把-P 22分别给了s1,s2,怎么处理这个问题,让-P 22 /home/
传给s1,/home传给s2?
s1 s2都是字符串。
s1是 -P 22 /home/
s2是/home
这样在程序中,直接system调用的话,会出现只把-P 22分别给了s1,s2,怎么处理这个问题,让-P 22 /home/
传给s1,/home传给s2?
|
使用system调用的话,必须使用字符串;
如下:
char str[1024];
char a1[] = "-P 22 /home/";
char a2[] = "/home";
sprintf(str, "a.sh "%s" "%s"", a1, a2);
system(str);
这样就可以了;
|
这种参数的传递太不标准了。那你就把$1和$2以及$3组合处理,最后一个变为$4处理。
|
调用是使用“$s1” “$s2”传参
|
加了引号肯定是正确咯,都不是四个字符串,是两个了。