我刚刚开始使用 Ubuntu,想弄清楚一些事情。我有点困惑。
我的问题的简短版本:
A) 使我的 bash 脚本可执行似乎不太可靠。有时莫名其妙地就不起作用了,即使对同一目录中的相同脚本使用相同的步骤也是如此。
B) 当我能够使可执行性工作时,有时两个相同的脚本似乎表现不同。一个按预期完成其工作,另一个抛出“命令未找到”错误通知,尽管它们是同一目录中名称不同的相同脚本。
- - - (更多细节) - - - -
我使脚本可执行的步骤:
右键单击该文件,然后检查“属性”>“权限”>“允许作为程序执行文件”。 (这似乎没有任何作用,但我还是这么做了。每当我在此步骤之后尝试执行脚本时,什么都不会发生。)
在终端中运行“chmod +x”。
我已经让这个脚本在两个不同的脚本上运行,但在其他脚本上却不行。我不知道我做错了什么。当可执行性不起作用时,我可以通过终端运行脚本,它运行得很好。
以下是我尝试运行的脚本的示例:
#!/bin/bash
cd Desktop/Projects/Zemmings\ V3/NeoLemmix_V12.12.1
wine NeoLemmix.exe
此脚本有效,并且可执行。现在我想复制它并更改不同 Windows 应用程序的路径和程序。
我复制并粘贴了文件,更改了名称,执行了上述可执行性步骤,双击它,然后出现错误“未找到命令”。但是,这是在更改脚本之前,因此它应该执行与原始脚本完全相同的操作。尽管内容相同,但它会给出错误,而原始脚本仍然有效。
因此,如果有人能给我答案或建议,请告诉我。
-------(问题总结)------------
为什么检查文件的“属性”>“权限”>“允许作为程序执行文件。”似乎没有任何作用?
为什么“chmod +x”有时不起作用?
为什么同一目录中的两个相同脚本的行为不同?
谢谢!
答案1
我认为问题在于默认桌面太糟糕了。在研究另一个问题时,似乎默认桌面存在很多问题,有些人建议使用完全不同的扩展,我就是这么做的。我切换到“Desktop Icons NG”,现在一切都运行正常。
我可以简单地在权限中选中“允许以程序形式执行文件”,现在由于有了新的桌面扩展,它就可以正常工作了。我现在还可以将桌面上的文件拖放到应用程序和文件浏览器中。现在一切都很好。抱歉,这不是修复,而是一种解决方法,但我认为这只是一个错误或疏忽(基于我发现的其他讨论),最终会得到修补。所以我认为唯一真正的解决方案是等到它被修复或使用此解决方法。
我看到的另一个可能的解决方案是禁用文件浏览器的实验视图,但这对我来说不起作用。
要安装对我有用的 alt 桌面扩展:https://ubuntuhandbook.org/index.php/2020/10/enable-drag-drop-desktop-ubuntu-20-04/