我想在我的 bash 上运行 unity3d 以放置别名和 .desktop 条目。然而,事实证明这更加困难。
出现标题错误我尝试命令:
bash path/to/program
Run Code Online (Sandbox Code Playgroud)
通过网站搜索它似乎是一个兼容性问题。所以当我尝试 file 命令时,输出是:
program: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=8020f3d60eff5b41c53e6b60a9e2d43802e28f93, not stripped
Run Code Online (Sandbox Code Playgroud)
而我的系统是 x86_64。
但是,当我直接进入文件夹并运行程序时
./program
Run Code Online (Sandbox Code Playgroud)
程序运行正常。
当我可以使用 ./program 而不是 bash 程序运行程序时,我不明白这会如何与我的系统产生兼容性问题
请注意,我正在使用 zsh,我不确定这是否会以任何方式干扰。
当您这样做时bash some/file,bash 读取该文件,根据 bash 的语法规则解析其内容并执行生成的命令。有效文件通常称为“脚本”,它们的内容与您在 shell 中实际输入的内容非常相似。编译后的程序包含机器指令。您使用 zsh - 您希望它理解机器指令吗?Zsh 没有,bash 也没有。
如果要使用 bash 执行命令,请使用以下-c选项:
bash -c '/some/command'
Run Code Online (Sandbox Code Playgroud)
但是当命令本身是可执行的时,这样做没有多大意义。如果可以使用 运行它/some/command,则直接使用它。
| 归档时间: |
|
| 查看次数: |
8329 次 |
| 最近记录: |