HIl*_*ics 12 bash scripts executable
我需要创建一个 bash 脚本来创建和安装驱动器。所以,两个简单的命令。在命令行输入时,两者都“工作”。
每次普通用户登录时都会创建并执行该脚本,因此我需要一种方法来使该脚本在当时可以执行。到目前为止,我无法让它发挥作用。例如,第一部分mkdir /vvv/gggg
不会继续,因为脚本不可执行(我猜)。
希望这是有道理的。这可能吗?任何关于如何使这项工作的想法将不胜感激。
更新:
感谢您的回复。除了我是 Linux 新手之外,我可能应该添加一些其他信息。
我正在使用一个名为 Ulteo 的开源虚拟桌面应用程序。这个应用程序运行在 Ubuntu 之上,几乎没有支持——这就是我在这里的原因。基本上,我正在学习。
因此,该应用程序具有登录脚本管理功能,我可以在其中将脚本绑定到用户。一个简单的带有网络使用的 Windows 脚本工作得很好。但是,当我尝试应用 Linux bash 脚本时,没有任何反应。
我在想,因为我需要先chmod +x
对脚本执行 a以使脚本可执行,这就是它失败的原因。顺便说一下,Ulteo 在 chroot jail 中运行。我创建了一个脚本,保存了它,但找不到脚本。我在 chroot 监狱内外进行了搜索。
我喜欢 dan08 的方法,让初始脚本引用另一个脚本,我可以手动找到并使其可执行。我会遇到同样的问题吗?
这些附加信息是否说明了情况?提前致谢。
附上照片。
![登录scipt管理控制台][1]
![有效的windows脚本][2]
![不起作用的简单 linux 脚本][3]
抱歉我还不能发图片
Ed *_*net 19
您需要做两件事:
引用脚本开头的脚本解释器:
#!/bin/bash
Run Code Online (Sandbox Code Playgroud)设置权限以使其可执行:
chmod +x myscript.sh
Run Code Online (Sandbox Code Playgroud)您可以采用不同的方法并更改调用脚本的方式,而不是使脚本可执行。
script.sh
足以运行可执行脚本。
然而
如果指定程序来运行不可执行的脚本,则可以运行该脚本。
因此/bin/bash script.sh
或bash script.sh
或python script.py
将全部运行不可执行的脚本。
所以我的建议是编辑脚本的调用方式,并指定用于运行它的二进制文件。
用C、C++或Python等创建程序并使用系统命令执行bash脚本。
例如,C 程序如下所示:
#include "stdio.h"
int main(int argc, char const *argv[])
{
system('chmod +x path/yourbashscript.sh');
system('path/yourbashscript.sh');
return 0;
}
Run Code Online (Sandbox Code Playgroud)
要在启动时执行该程序,请将其添加到启动程序列表中。从仪表板中打开启动应用程序,然后单击“添加”按钮将已编译的可执行文件添加到列表中。