all:
有一个shell脚本a.sh:
#/bin/bash -x -n
source /etc/profile
和一个 test.c 程序使用 system() 函数来调用这个脚本:
#include <stdio.h>
int main(void)
{
system("/data/nan/a.sh");
return 0;
}
我在控制台中直接调用 a.sh 时发现:
./a.sh
没关系。
但是执行c程序:
./test
它打印“来源:未找到”。
我知道原因可能是 system() 函数使用 /bin/sh 执行 a.sh 脚本。但是我添加了“#/bin/bash”添加了a.sh的开头。为什么会发生这种情况?首先十分感谢!
最好的问候
南肖