当前位置: 技术问答>linux和unix
C调用shell脚本出现问题,在线等待求教高手
来源: 互联网 发布时间:2016-07-22
本文导语: 我在linux下面,利用C程序调用shell脚本: test.sh: #!/bin/bash trap "" 0 1 2 3 echo "test" >> $HOME/log.log C: int main() { char aBuf[1024]; sprintf(aBuf, "%s/test.sh", getenv("TESTSHELL")); printf(aBuf); printf("...
我在linux下面,利用C程序调用shell脚本:
test.sh:
#!/bin/bash
trap "" 0 1 2 3
echo "test" >> $HOME/log.log
C:
int main()
{
char aBuf[1024];
sprintf(aBuf, "%s/test.sh", getenv("TESTSHELL"));
printf(aBuf);
printf("n");
int iRc = system(aBuf);
return 0;
}
注:这段程序在一台机器A上可以执行,但在另一台机器B上,shell脚本没有得到执行,在机器B上test.sh有执行权限,环境变量TESTSHELL设置没有问题,而且通过printf打印出了的路径也是对的,请问会是什么原因造成的?
在线等待求教高手
test.sh:
#!/bin/bash
trap "" 0 1 2 3
echo "test" >> $HOME/log.log
C:
int main()
{
char aBuf[1024];
sprintf(aBuf, "%s/test.sh", getenv("TESTSHELL"));
printf(aBuf);
printf("n");
int iRc = system(aBuf);
return 0;
}
注:这段程序在一台机器A上可以执行,但在另一台机器B上,shell脚本没有得到执行,在机器B上test.sh有执行权限,环境变量TESTSHELL设置没有问题,而且通过printf打印出了的路径也是对的,请问会是什么原因造成的?
在线等待求教高手
|
sprintf(aBuf, "bash %s/test.sh", getenv("TESTSHELL"));
try it
try it
|
用#!/bin/sh
不要用bash.不是每个机器都有bash, 但是sh一定有
不要用bash.不是每个机器都有bash, 但是sh一定有