Ubuntu-使用“ sudo”在启动时运行命令


Answers:


194

您可以在/etc/rc.local启动结束时执行的脚本中添加命令。

在之前编写命令exit 0。之后写的任何内容exit 0都将永远不会执行。


38
之前,当然。之后写的任何内容exit 0都将永远不会执行。
Didier Trosset 2012年

嗨,我也有和rvmsudo命令在相同情况下执行。该命令通常会要求输入密码。如果我将命令直接放在/etc/rc.local会不会有任何问题?
ravi1991年

@fmonegaglia这取决于。如果您要启动命令,并且脚本在继续执行脚本中的下一个命令之前先等待命令完成,那么请否&。如果即使当前命令尚未完成,也要启动以下命令,请添加&
Didier Trosset

@NoOne检查当前用户对此文件的访问权限。使用sudo启动编辑器命令可以解决问题。
Didier Trosset

1
当然存在,是的,我确实设置了可执行位。尝试启用该服务时,我仅The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units) […].对此有任何建议?
oarfish

9

/etc/init/tty*.conf使用shellscript作为参数编辑tty配置:

(...)
exec /sbin/getty -n -l  theInputScript.sh -8 38400 tty1
(...)

假设我们正在编辑tty1,读取输入内容的脚本是TheInputScript.sh。

请注意,该脚本以root用户身份运行,因此在向其输入内容时,您具有root特权。还要在脚本位置附加路径​​。

重要提示:脚本完成后,必须调用/ sbin / login,否则您将无法登录终端。


1
建设时,我们的产品设备,非常感谢这个答案对我来说是非常有用的
何塞F. Romaniello

0

好答案。您还可以使用“ Crontab ” 设置Jobs(即命令),以获得更大的灵活性(提供不同的选项来运行脚本,登录输出等),尽管需要更多的时间来理解和正确设置:

使用“ @reboot”,可以在启动时运行一次命令。

包起来:运行$ sudo crontab -e -u root

并使用以下命令在文件末尾添加一行:

@reboot sudo searchd
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.