-2

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的开头。为什么会发生这种情况?首先十分感谢!

最好的问候
南肖

4

1 回答 1

4

!在 shebang 中缺少 a:

#!/bin/bash -x -n
 ^
于 2013-03-06T06:13:13.397 回答