当前位置: 首页 > 知识库问答 >
问题:

启动时自动运行脚本:脚本无法正常工作

傅新
2023-03-14

我想在我的Parallela板启动时运行一个bash脚本,它有Ubuntu。我搜索了SO,在这里找到了说明:

  • 在linux ubuntu下启动时自动运行程序
  • 在Linux上启动时以编程方式运行

我的bash脚本是test。sh,只有一行:

echo "Hello World" &> /home/qsp/WIP/test/hello.txt

1) 我尝试的第一种方法是添加到/etc/rc。本地脚本的aboslute路径:

/home/qsp/WIP/test/test.sh

2) 我尝试的第二种方法是遵循上面公认的答案。

sudo mv test.sh /etc/init.d/
sudo update-rc.d test.sh defaults 

在这两种情况下,脚本都是在引导后执行的,并且有一个文件hello。在文件夹中创建的txt。但是,文件的内容为空(所有者为root)。我想知道我是否遗漏了什么。非常感谢。

=======更新=======

根据Skynet的回答,我将脚本更改为:

echo "Hello World" | tee /home/qsp/WIP/test/hello.txt

脚本在正确引导后写入文件。我还有一个问题,为什么我的原始脚本带有<代码>

共有3个答案

从景曜
2023-03-14

创建.桌面文件并将您的系统配置为在登录时自动启动

创造桌面文件如下

    $ vim ~/.config/autostart/test_script.desktop

添加以下信息

   [Desktop Entry]
   Type=Application
   Name=Test script
   Exec=~/test.sh
   X-GNOME-Autostart-enabled=true

注意~/测试。sh应该指向您创建的脚本。保存它。

使其可执行:

$chmod o x ~/。配置/自动启动/测试脚本。桌面

重新启动,下次登录时应运行脚本。

慕河
2023-03-14

编辑后。本地并添加命令,

检查脚本必须始终以退出0结束。

还要确保通过使用chmod命令使其可执行

chmod 777 test.sh

将输出行更改为

echo "Hello World" | tee /home/qsp/WIP/test/hello.txt
毕胡非
2023-03-14

您应该按照第一个SO问题所引用的初始化脚本样式进行。像这样:

case "$1" in
start)
    #startup code
    ;;
stop)
    #stop code
    ;;
restart)
    #restart code
    ;;
esac

还可以看看https://github.com/fhd/init-script-template/blob/master/template

 类似资料:
  • 本文向大家介绍在Windows启动时自动运行Python脚本?,包括了在Windows启动时自动运行Python脚本?的使用技巧和注意事项,需要的朋友参考一下 将Python脚本添加到Windows启动时,基本上表示Python脚本将在Windows启动时运行。这可以通过两步过程来完成- 步骤#1:在Windows启动文件夹中添加或添加脚本 在启动Windows后,它会执行(相当于双击)其启动文件

  • 问题内容: 我正在尝试在Centos 6.6上将以下服务脚本用于apache jmeter。 service jmeter start和service jmeter stop正常运行,但是当我尝试重新启动service jmeter时,它正在停止Java实例,但由于认为jmeter已经在运行,因此没有再次启动它。 任何指针将不胜感激。 问题答案: 您没有在stop和start命令之间进行重置/更新

  • 问题内容: 我的用例是我想初始化文件中的某些函数,然后使用定义的那些函数启动ipython。有什么办法可以做 问题答案: 根据文档,这很简单: 使用以下命令启动IPython: 如果不带选项调用,它将执行顺序列出的所有文件,并将您放入解释器,同时仍然确认您可能在文件中设置的任何选项 。此行为与标准Python不同,标准Python在被称为as时只会执行一个文件,而忽略您的配置设置。 所以,只需使用

  • 问题内容: 首先,这可能需要移至超级用户。我无法确定哪个场地更好。 我正在尝试编写一个将在启动/重新启动时运行的R脚本,并将该计算机添加到doRedis工作者池中。(doRedis是一个foreach后端)。 这是我的R脚本“〜/ Rworker.R” 我可以使用command从命令行运行此脚本 。 接下来,我编写了一个shell脚本来运行R脚本,标题为“ /etc/init.d/StartWor

  • 问题内容: 在Amazon S3 Linux实例上,我有两个名为的脚本,它们 永远 启动和停止(依次运行Node.js应用程序)。我使用这些脚本手动启动和停止我的Node.js应用程序。到目前为止,一切都很好。 我的问题:我还想将其设置为在系统启动时运行。我知道我需要在其中添加文件,并且知道如何将其符号链接到其中的适当目录,但是我无法弄清楚放置在其中的文件中实际需要什么。我认为这应该只是一条线,例

  • 编译安装完nginx后,默认情况下,你是不能像用命令行apt-get那样生成启动脚本的,也就是放在/etc/init.d上的脚本,要自己创建。 1. 复制一个启动脚本 创建一个文件/etc/init.d/nginx。 内容如下: #!/bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $local_fs $