/bin/bash:从 Matlab 运行 shell 脚本时没有这样的文件或目录

Posted

技术标签:

【中文标题】/bin/bash:从 Matlab 运行 shell 脚本时没有这样的文件或目录【英文标题】:/bin/bash: No such file or directory when running a shell script from Matlab 【发布时间】:2018-04-20 13:31:56 【问题描述】:

我正在 Windows 10 中创建一个 Matlab 代码,该代码又使用 Ubuntu 环境(在 Windows 10 内)执行一些混合 Matlab 和 OpenFOAM 的计算。 我总结一下,我所做的是我有一个 Matlab 代码,它在某些时候在我的 ubuntu 环境中调用一个 shell 脚本函数,这个函数执行我在 ubuntu 上需要的一切。如果我在 ubuntu 环境中测试该 .sh 文件,它可以完美运行,但是当我从 Matlab(在 Windows 10 上)调用它时,它就不起作用了。 在 Matlab 中,我的调用是这样完成的: system('bash -c "******.sh"'); 我收到以下错误 /bin/bash: ******.sh: 没有这样的文件或目录 即使文件存在。 有什么线索吗?

【问题讨论】:

请添加您的代码和错误,以便我们看到您在做什么。第二:听起来像是 MATLAB 无法处理的权限错误。 matlab进程的当前目录和文件所在的目录一样吗?您可能想尝试 shell 脚本的绝对路径,看看是否是原因。 OpenFOAM 也有 Windows 版本。有什么特别的理由不使用它吗?能解决你的问题吗? 任何反馈,如果可能的话?否则,我建议您删除该问题。 【参考方案1】:

对不起,我出国了,但昨天我能够解决问题。 以这种方式使用这两种软件的原因是我需要 OpenFOAM 在其本机配置中工作。 也就是说,我的问题似乎是由于 windows 允许您同时安装 bash 和 Ubuntu,所以当我要求 Matlab 执行系统时('bash -c "******. sh"') 它尝试使用 bash,而我在 Ubuntu 上安装了所有东西。所以解决方案就是删除我的 Windows10 安装的 bash。

【讨论】:

以上是关于/bin/bash:从 Matlab 运行 shell 脚本时没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

linux_shell 编程学习-初识she'll

登录shell和非登录shell

Shell编程—构建基本脚本

Docker /bin/bash: nodemon: 找不到命令

如何让docker以daemon方式运行/bin/bash

如何让docker以daemon方式运行/bin/bash