从 ubuntu 中的八度调用 bash 脚本的问题

Problems with calling bash scritpt from octave in ubuntu

我正在尝试 运行 一个调用八度外程序的脚本。从终端调用时,该脚本工作正常。我的问题是脚本的 shebang 部分似乎没有调用 bash。例如,如果我编写以下脚本:

#! /bin/bash
echo $SHELL
whoami

当我从八度调用这个脚本时

system('bash myscript.bash')

我得到了:

>> /bin/sh
>> user

因此,当我尝试 运行 来自 Octave 的实际脚本(不是上面的脚本)时,我收到“找不到命令”错误。 知道我在这里做错了什么吗?

请尝试

system('./myscript.bash')

system('/bin/sh /root/path/to/myscript.bash')

并在您的 bash 脚本中使用您程序的绝对路径,或者您可以将您的程序放在 /bin 目录中

路径示例: /root/path/to/myscript.bash

发现问题是我安装了带有 flatpack 的 Octave,它创建了自己的环境或其他东西,因此无法真正看到 /bin 中的功能。所以如果你有类似的问题,比如在 Octave 命令行和终端中没有相同的功能:

flatpak uninstall octave
sudo apt-get install octave