在 Linux 系统中,如果你希望在开机时只运行一次某个脚本,可以考虑将该脚本放在 /etc/rc.local 文件中,或者使用系统的服务管理工具(如 systemd)来创建一个服务。

如果你坚持要在 /etc/profile.d 中放置脚本,通常这个目录下的脚本会在每次用户登录时执行,而不是仅在开机时执行。因此,放在这里并不适合你的需求。

以下是两种推荐的方法:

方法一:使用 /etc/rc.local

  1. 编辑 /etc/rc.local 文件(如果该文件不存在,可以创建它):

    sudo nano /etc/rc.local
    
  2. exit 0 之前添加你的脚本命令,例如:

    /path/to/your/script.sh
    
  3. 确保 /etc/rc.local 文件是可执行的:

    sudo chmod +x /etc/rc.local
    

方法二:使用 systemd 创建服务

  1. 创建一个新的服务文件,例如 /etc/systemd/system/myscript.service

    sudo nano /etc/systemd/system/myscript.service
    
  2. 在文件中添加以下内容:

    [Unit]
    Description=Run my script at startup
    
    [Service]
    Type=oneshot
    ExecStart=/path/to/your/script.sh
    
    [Install]
    WantedBy=multi-user.target
    
  3. 重新加载 systemd 配置:

    sudo systemctl daemon-reload
    
  4. 启用该服务,使其在开机时运行:

    sudo systemctl enable myscript.service
    

这两种方法都可以确保你的脚本在系统启动时只运行一次。选择适合你需求的方法即可。