首頁 > 系統教程 > Linux > 主體

詳解在 Linux 啟動時,如何自動執行指令或腳本

王林
發布: 2024-02-11 15:30:04
轉載
975 人瀏覽過

我一直很好奇,在啟動 Linux 系統並登入的過程中到底發生了什麼事情。按下開機鍵或啟動一個虛擬機,你就啟動了一系列事件,之後會進入到一個功能完備的系統中,有時,這個過程不到一分鐘。當你註銷或關機時,也是這樣。

详解在 Linux 启动时,如何自动执行命令或脚本

我一直很好奇,在啟動 Linux 系統並登入的過程中到底發生了什麼事情。按下開機鍵或啟動一個虛擬機,你就啟動了一系列事件,之後會進入到一個功能完備的系統中,有時,這個過程不到一分鐘。當你註銷或關機時,也是這樣。

更有趣的是,在系統啟動以及使用者登入或登出時,也可以讓系統執行特定的操作。

本文,我們將探討在 Linux 作業系統中實現這些目標的傳統方法。

注意:我們假定使用的是 Bash 作為登入及登出的主 Shell。如果你使用的是其他 Shell,那麼有些方法可能會無效。如果有其他的疑問,請參考對應的 Shell 文件。

在啟動時執行 Linux 腳本

有兩種傳統的方法可以實現在啟動時執行命令或腳本:

方法 #1 – 使用 cron 任務

除了常用格式(分 / 時 / 日 / 月 / 週)外,cron 調度器還支援 @reboot 指令。這個指令後面的參數是腳本(啟動時要執行的那個腳本)的絕對路徑。然而,這種方法需要注意兩點:

  • a) cron 守護程式必須處於運作狀態(通常都會執行),同時
  • b) 腳本或 crontab 檔案必須包含所需的環境變數(如果有的話,請參考 StackOverflow 以取得更多詳細內容)。

方法 #2 – 使用 /etc/rc.d/rc.local

#這個方法對於 systemd-based 發行版 Linux 同樣有效。不過,使用這個方法,需要授予/etc/rc.d/rc.local檔案執行權限:

# chmod +x /etc/rc.d/rc.local
登入後複製

然後在這個檔案底部新增腳本。

下圖說明如何分別使用 cron 任務和 rc.local 執行兩個範例腳本(/etc/rc.d/rc.local/home/gacanepa/script1.sh 和/home/gacanepa/script2.sh)。
script1.sh:

#!/bin/bash
DATE=$(date +'%F %H:%M:%S')
DIR=/home/gacanepa
echo "Current date and time: $DATE" > $DIR/file1.txt
登入後複製

script2.sh:

#!/bin/bash
SITE="Tecmint.com"
DIR=/home/gacanepa
echo "$SITE rocks... add us to your bookmarks." > $DIR/file2.txt
登入後複製
详解在 Linux 启动时,如何自动执行命令或脚本

*啟動時執行 Linux 腳本 *

記住,一定要提前給兩個範例腳本授予執行權限:

$ chmod +x /home/gacanepa/script1.sh
$ chmod +x /home/gacanepa/script2.sh
登入後複製

在登入或登出時執行 Linux 腳本

要在登入或登出時執行腳本,分別需要使用~.bash_profile和~.bash_profile檔案。多數情況下,後者需要手動建立。在每個檔案的底部,新增呼叫腳本程式碼,如前面例所示,就可以實作這個功能。

總結

本文主要介紹如何在啟動、登入以及登出系統時執行腳本。

以上是詳解在 Linux 啟動時,如何自動執行指令或腳本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:lxlinux.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!