㈠ 如何用bash腳本中創建while無限循環
一、簡介
Shell編程中循環命令用於特定條件下決定某些語句重復執行的控制方式,有三種常用的循環語句:for、while和until。while循環和for循環屬於「當型循環」,而until屬於「直到型循環」。循環控制符:break和continue控制流程轉向。
二、詳解
1、for循環
(1)for循環有三種結構:一種是列表for循環,第二種是不帶列表for循環。第三種是類C風格的for循環。
(2)列表for循環
#!/bin/bashfor varible1 in {1..5}#for varible1 in 1 2 3 4 5doecho "Hello, Welcome $varible1 times "done
do和done之間的命令稱為循環體,執行次數和list列表中常數或字元串的個數相同。for循環,首先將in後list列表的第一個常數或字元串賦值給循環變數,然後執行循環體,以此執行list,最後執行done命令後的命令序列。
Sheel支持列表for循環使用略寫的計數方式,1~5的范圍用{1..5}表示(大括弧不能去掉,否則會當作一個字元串處理)。
Sheel中還支持按規定的步數進行跳躍的方式實現列表for循環,例如計算1~100內所有的奇數之和。
- #!/bin/bashsum=0for i in {1..100..2}dolet "sum+=i"doneecho "sum=$sum"
- 通過i的按步數2不斷遞增,計算sum值為2500。同樣可以使用seq命令實現按2遞增來計算1~100內的所有奇數之和,for i in $(seq 1 2 100),seq表示起始數為1,跳躍的步數為2,結束條件值為100。
for循環對字元串進行操作,例如通過for循環顯示當前目錄下所有的文件。
- #!/bin/bashfor file in $( ls )#for file in *doecho "file: $file"done
for通過命令行來傳遞腳本中for循環列表參數
- #!/bin/bashecho "number of arguments is $#"echo "What you input is: "for argument in "$@"doecho "$argument"done
- #!/bin/bashecho "number of arguments is $#"echo "What you input is: "for argumentdoecho "$argument"done
- 比上述代碼少了$@參數列表,$*參數字元串。
- #!/bin/bashfor((integer = 1; integer <= 5; integer++))do echo "$integer"done
- #!/bin/bashsum=0for(( i = 1; i <= 100; i = i + 2 ))dolet "sum += i"doneecho "sum=$sum"
- #!/bin/bashsum=0i=1while(( i <= 100 ))dolet "sum+=i"let "i += 2" doneecho "sum=$sum"
- 指定了循環的次數500,初始化計數器值為1,不斷測試循環條件i是否小於等於100。在循環條件中設置了計數器加2來計算1~100內所有的奇數之和。
- #!/bin/bashecho "Please input the num(1-10) "read numwhile [[ "$num" != 4 ]]do if [ "$num" -lt 4 ]thenecho "Too small. Try again!"read numelif [ "$num" -gt 4 ]thenecho "To high. Try again" read numelseexit 0fidoneecho "Congratulation, you are right! "
- #!/bin/bashecho "Please input the num "read numfactorial=1while [ "$num" -gt 0 ]dolet "factorial= factorial*num"let "num--"doneecho "The factorial is $factorial"
- (3)標志控制的while循環
- #!/bin/bashecho "Please input the num "read numsum=0i=1signal=0while [[ "$signal" -ne 1 ]]doif [ "$i" -eq "$num" ]thenlet "signal=1"let "sum+=i"echo "1+2+...+$num=$sum"elselet "sum=sum+i"let "i++"fidone
- #!/bin/bashecho "number of arguments is $#"echo "What you input is: "while [[ "$*" != "" ]]doecho "$1"shiftdone
- 循環條件可以改寫為while[[ "$#" -ne 0 ]],等於0時退出while循環
- #!/bin/bashi=0until [[ "$i" -gt 5 ]] #大於5dolet "square=i*i"echo "$i * $i = $square"let "i++"done
- #!/bin/bashfor (( i = 1; i <=9; i++ ))dofor (( j=1; j <= i; j++ ))dolet "temp = i * j" echo -n "$i*$j=$temp " done echo "" #output newlinedone
- #!/bin/bashfor ((i=1; i <= 9; i++))doj=9;while ((j > i))doecho -n " "let "j--"donek=1while ((k <= i))doecho -n "*"let "k++"doneecho ""done
- #!/bin/bashsum=0for (( i=1; i <= 100; i++))do let "sum+=i"if [ "$sum" -gt 1000 ]thenecho "1+2+...+$i=$sum"breakfidone
- #!/bin/bashm=1for (( i=1; i < 100; i++ ))dolet "temp1=i%7" #被7整除if [ "$temp1" -ne 0 ]thencontinuefiecho -n "$i "let "temp2=m%7" #7個數字換一行if [ "$temp2" -eq 0 ]thenecho ""filet "m++"done
- #!/bin/bashecho "What is your favourite color? "select color in "red" "blue" "green" "white" "black"do breakdoneecho "You have selected $color"
- (2)select不帶參數列表
- #!/bin/bashecho "What is your favourite color? "select colordo breakdoneecho "You have selected $color"
也可一使用for file in *,通配符*產生文件名擴展,匹配當前目錄下的所有文件。
$#表示參數的個數,$@表示參數列表而$*則把所有的參數當作一個字元串顯示。
(3)不帶列表for循環
由用戶制定參數和參數的個數,與上述的for循環列表參數功能相同。
(4)類C風格的for循環
也被稱為計次循環
for中第一個表達式(integer = 1)是循環變數賦初值的語句,第二個表達式(integer <= 5)決定是否進行循環的表達式,退出狀態為非0時將退出for循環執行done後的命令(與C中的for循環條件是剛好相反的)。第三個表達式(integer++)用於改變循環變數的語句。
Sheel中不運行使用非整數類型的數作為循環變數,循環條件被忽略則默認的退出狀態是0,for((;;))為死循環。
類C的for循環計算1~100內所有的奇數之和。
2、while循環
也稱為前測試循環語句,重復次數是利用一個條件來控制是否繼續重復執行這個語句。為了避免死循環,必須保證循環體中包含循環出口條件即表達式存在退出狀態為非0的情況。
(1)計數器控制的while循環
(2)結束標記控制的while循環
設置一個特殊的數據值(結束標記)來結束while循環。
例:通過結束標記控制實現階乘的操作
使用用戶輸入的標志值來控制循環的結束(避免不知道循環結束標志的條件)。
標志控制的while循環求1~n的累加和,循環變數值小於100執行else累加同時循環變數加1,直到循環變數值等於100將標志值設置為1,並輸出。
標志控制的while循環與結束標記控制的while循環的區別是用戶無法確定無法確定結束標志,只能程序運行後確定結束標志。兩者也可以相互轉化。
(4)命令行控制的while循環
使用命令行來指定輸出參數和參數個數,通常與shift結合使用,shift命令使位置變數下移一位($2代替$1、$3代替$2,並使$#變數遞減),當最後一個參數顯示給用戶,$#會等於0,$*也等於空。
3、until循環
until命令和while命令類似,while能實現的腳本until同樣也可以實現,但區別是until循環的退出狀態是不為0,退出狀態是為0(與while剛好相反),即whie循環在條件為真時繼續執行循環而until則在條件為假時執行循環。
4、循環嵌套
一個循環體內又包含另一個完整的循環結構,在外部循環的每次執行過程中都會觸發內部循環,for、while、until可以相互嵌套。
(1)嵌套循環實現九九乘法表
(2)for循環嵌套實現*圖案排列
外層for循環嵌套了兩個內層while循環,先列印空格在列印*號形成圖案。
5、循環控制符break和continue
若須退出循環可使用break循環控制符,若退出本次循環執行後繼續循環可使用continue循環控制符。
(1)break
在for、while和until循環中break可強行退出循環,break語句僅能退出當前的循環,如果是兩層循環嵌套,則需要在外層循環中使用break。
(2)continue
在for、while和until中用於讓腳本跳過其後面的語句,執行下一次循環。continue用於顯示100內能被7整除的數。
6、select結構
select結構從技術角度看不能算是循環結構,只是相似而已,它是bash的擴展結構用於互動式菜單顯示,功能類似於case結構比case的交互性要好。
(1)select帶參數列表
該結構通過命令行來傳遞參數列表,由用戶自己設定參數列表。
三、總結
(1)循環結構中相互嵌套組成更復雜的流程,並結合break和continue可以實現很多復雜的運算。
(2)可以結合其他語言的語法有助於更好的理解循環結構。
(3)熟練應用還需要大量的重復練習,重寫優秀的shell代碼也是一種很好的方式。
㈡ 如何在shell腳本中設置環境變數
如何通過shell腳本設置全局的環境變數
-bash-3.00#
env
HZ=100
LC_MONETARY=en_US.ISO8859-1
SHELL=/usr/bin/bash
TERM=ansi
LC_NUMERIC=en_US.ISO8859-1
MAIL=/var/mail/pc
PATH=/usr/sbin:/usr/bin:.
LC_MESSAGES=C
LC_COLLATE=en_US.ISO8859-1
PWD=/export/home/pc
TZ=PRC
SHLVL=1
HOME=/export/home/pc
LOGNAME=pc
LC_CTYPE=en_US.ISO8859-1
LC_TIME=en_US.ISO8859-1
_=/usr/bin/env
如果只想看指定的變數設置,如路徑PATH的設置,可以用
"echo
$PATH"或
「
env
|
grep
PATH"或」
env
|
grep
-i
path"來查詢族碰。前面的適合知道全名的,後面2種適合只知道部分欄位或者部分關鍵字銷彎母(甚至不確定兆斗談字元大小寫)的。
-bash-3.00#
echo
$PATH
/usr/sbin:/usr/bin:.
-bash-3.00#
env
|
grep
PATH
PATH=/usr/sbin:/usr/bin:.
㈢ #!/bin/bash
在shell腳本的第一行中,必須寫#!/bin/bash嗎?
我記得#是表示注釋的,那麼這一行應該是可以不寫的吧?為什麼又說「這條語句告訴操作系統用來解釋腳本的程序位置呢?
#!/bin/sh
表示本腳本由/bin/路徑的sh程序來解釋....
跟命令行下~
#/bin/sh Scriptname效果相同...
但是#不是用來表示注釋的嗎?難道這里的#不是這個意思?
不同的地方,#有不同的意思
就好比c++裡面用「//」來註解
vb裡面用「'」註解一樣
dns裡面用「;」來註解
shell的開頭那個#不是用來註解的
如果你要用給該腳本執行許可權的話...第一行必須聲明該腳本由什麼來解釋...
#的確表示注釋.第一行的你只需要知道是聲明解釋程序的路徑就好了 :)
假如第一行是別的東西.而你又給了跡型x許可權,執行的時候就會出錯...
可以不寫.執行時手工執行...
/bin/sh xxxx.sh
效果是一樣的 ...
#通常用作注釋,但是#!放在一起就標志著這是一個shell script,其後的路徑指出了用來解釋這個script的程序。
如果一個script只是一些普通linux指令的堆砌。那麼#!可以略去不寫。但通常我們遇到的都不是這種情哪衫況。
如果這個script中包含一些自定義李州腔的程序組件,比如說函數,變數等,#!便需要標注。
㈣ linux怎麼指定shell為/bin/bash
腳激灶旅本第一明凳行用 #! /bin/bash
或者運行時使辯拆用 /bin/bash 文件名進行調用
㈤ windows怎麼提取bash腳本
熱門頻道
首頁
博客
研修院
VIP
APP
問答
下載
社區
推薦頻道
活動
招聘
專題
打開CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打開APP
windows執行bash腳本 原創
2022-03-22 19:11:19
代碼小軒
碼齡5年
關注
Windows執行shell腳本
1、 安裝Git
在這里插入圖片描述
2、 查看Git環境變數
右擊電腦-屬性-高級-高級系統設置
在這里插入圖片描述
已設置環境變數
在這里插入圖片描述
在這里插入圖片描述
3、 打開Git bash
定位到sh文件所在目錄,直接使用bash 或sh 來執行bash shell腳本:
在這里插入圖片描述
打開CSDN APP,看更多技術內容
如何在Windows中運行bash_看,月亮在跳舞的博客
為了運行bash,首先要進行幾步操作。首先,需要獲得Windows10的build 14316。 安裝內測版本之後,用戶需要切換到開發者模式,從設置>更新(Settings > Updates),安全>開發者(Security > For Developers)打開新的設置頁面,選擇「Windows Subsystem...
繼續訪問
windows 使用bash_Neil_001的博客_windowns bash
Windows執行shell腳本 1、 安裝Git 2、 查看Git環境變數 右擊電腦-屬性-高級-高級系統設置 已設置環境變數 3、 打開Gitbash定位到sh文件所在目錄,直接使用bash或sh 來執行bashshell腳本: windowns server 2012 部署mysql5.7,並修改初始密...
繼續訪問
最新發布 在Linux中執行shell(bash)腳本的方法 2208筆記
用source命令執行腳本文件時,是在當前Shell進程中執行,而不是像./與sh方式一樣在新的Shell進程中執行,因此早先設置的變數在腳本里是可以讀取到的。source是Shell(准確地說是Bash)的內置命令,在Bourne Shell中的等價命令是一個點.,即點命令。後, 就能在任意文件夾, 像執行命令一樣, 直接輸入腳本名就能執行 , 會在子Shell中執行。按路徑直接執行,需要腳本文件有可執行許可權, 一般自己創建的文件有讀寫許可權,但沒有可執行許可權。命令直接在當前shell執行腳本。
繼續訪問
CmdBash:CMDBASH命令行工具
CmdBash CMD/BASH命令行工具 作者 zlb 運行環境 適用於jdk1.8
如何在Windows中運行bash
當微軟宣布,將在Windows10上面支持bash時,所有的Unix命令行用戶都為之雀躍了。上周三,微軟發布了一個測試版本,開始支持了這項功能。為了運行bash,首先要進行幾步操作。首先,需要獲得Windows10的build 14316。安裝內測版本之後,用戶需要切換到開發者模式,從設置>更新(Settings > Updates),安全>開發者(Security > F...
繼續訪問
在windows中利用gitbash並行執行命令
rush並行sh語句
繼續訪問
windows10bash_Windows 10上的Bash
windows10bash 因為我使用基於Linux和Windows的計算機進行開發,所以我經常希望自己在Windows環境中可以使用一些方便的命令行Linux工具。 Cygwin , PowerShell和用於模擬Linux工具的 自定義Groovy腳本起到了幫助作用,但是最近得知Windows 10上的Ubuntu上的Bash可用我感到非常驚訝。 在本文中,我簡要總結了使bash在Wind...
繼續訪問
VsCode | 在 Windows 上調試Bash腳本
如何使用VsCode調試Bash腳本
繼續訪問
熱門推薦 windows使用bash指令
方法只適用於64位版本的Windows 10 1. 打開設置應用程序和頭部更新和安全>對於開發。在這里啟動「開發者模式」開關,使開發者模式 2. 接下來,打開控制面板,單擊「程序」,然後單擊「打開Windows功能打開或關閉」在程序和功能。在這里啟用「Windows子系統為Linux(測試版)」列表中的選項,並單擊「確定」。 執行此操作後,系統會提示您重新啟動計算機。點擊「立即...
繼續訪問
Windows 10上的Bash
因為我使用基於Linux和Windows的機器進行開發,所以我經常希望自己在Windows環境中擁有一些方便的命令行Linux工具。 Cygwin , PowerShell和編寫用於模擬Linux工具的 自定義Groovy腳本起到了幫助作用,但是最近得知Windows 10上的Ubuntu上的Bash可用,令我感到驚喜。 在本文中,我簡要總結了使bash在Windows上可用的一些步驟。 在...
繼續訪問
Windows環境運行shell腳本
Windows環境運行shell腳本
繼續訪問
解決方案:Win10如何使用bash批處理命令
問題描述:無法將「bash」項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然後再試一次。 'bash' 不是內部或外部命令,也不是可運行的程序或批處理文件。......
繼續訪問
windows python執行bash命令
windows的cmd命令是很難用的,比如想通過管道來對輸出作下切割,就比較繁瑣;然而在bash shell里,cut命令就能輕松搞定,但在windows下,如何執行bash命令呢?首先要安裝bash,不過,作為開發者,一般都會安裝git,它自帶了bash命令。............
繼續訪問
win python 運行bash腳本_在window中模擬執行linux 腳本
現在後端環境常常是linux系統,但很多情況下,我們的開發環境是Window系統,為了能在window下模擬linux的腳本,而且也能夠ssh到linux server,我們可以在window系統中安裝這樣一個模擬環境 cmder,以下舉例說明如何使用cmder腳本bash 腳本:test.sh#!/bin/bash./test.py -s http://localhost:8008/foo -i...
繼續訪問
windows bash
1 echo 和 @ 回顯命令 @ #關閉單行回顯 echo off #從下一行開始關閉回顯 @echo off #從本行開始關閉回顯。一般批處理第一行都是這個 echo on #從下一行開始打開回顯 echo #顯示當前是 echo ...
繼續訪問
win python 運行bash腳本_在Windows上從Python執行bash腳本
我正在嘗試編寫一個python腳本,它將在我的Windows機器上執行bash腳本。到目前為止,我一直在使用Cygwin終端,因此執行bash腳本RunModels.scr就像./RunModels.scr一樣簡單。現在我希望能夠利用Python的subprocess,但是由於Windows沒有處理bash的內置功能,我不知道該怎麼做。我試圖模擬./RunModels.scr < valid...
繼續訪問
不用安裝虛擬機,直接在Windows上面運行Linux Bash Shell,嗯!真香!!!
每次安裝虛擬機,打開虛擬機,一頓繁瑣的界面操作,等待時長,讓我很煩躁,對於熟悉開發工程師,在Linux上面敲擊感和運行等等都要比Windows上面好很多倍,那麼怎麼在Windows上面直接運行Bash shell呢?下面對詳細過程盡心了描述,請耐心觀看。 1. 首先打開我們的開發者模式 1.1 直接在搜索框輸入開發者,然後Enter就可以直接進入啦 1.2 或者按住win(鍵盤Ctrl和Alt中間哪個Windows圖標)+x,然後選擇「設置」,然後選擇「更新和安全」,選擇開發者選項就行啦 1.3 打開
繼續訪問
windows下如何運行shell腳本
windows下如何執行shell腳本
繼續訪問
Win10系統開啟Linux Bash命令行
微軟在推送的Win10一周年更新預覽版14316中,該版本中包含了大部分已宣布內容,其中包括了一項重要的原生支持Linux Bash命令行支持。2、搜索「程序和功能」,選擇「開啟或關閉Windows功能」,開啟Windows Subsystem for Linux (Beta),並重啟系統。或Mac電腦就可以在Win10上使用Bash,那麼如何在Win10系統上開啟Linux Bash命令行呢?大家可以嘗試下面的方法來解決這個問題。3、安裝Bash,需要開啟命令行模式,然後輸入「bash」,即可使用。...
繼續訪問
怎樣在window下運行linux bash shell腳本
怎樣在window下運行linux bash shell
繼續訪問
windows下安裝bash bash的目錄位置
windows下安裝bash bash的目錄位置 C:\Users\張政\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs
繼續訪問
WINDOWS命令和批處理
轉自:http://proclsj999.javaeye.com/blog/206853 另外查看WIndows和Linux的所有命令:http://www.ss64.com/nt/。 該教程一共分為4大部分,第一部分是批處理的專用命令,第二部分是特殊的符號與批處理,第三部分是批處理與變數,第四部分是完整案例。 %~dp0 表示當前bat所在的目錄。第一部分:批處理的專用命令 批處理文...
繼續訪問
windows bash
bash
寫評論
評論
6
點贊
踩
分享
㈥ 請教各位大神,shell腳本用的是#!/bin/bash,但是腳本中又可能要調用#!/user/bin/expect,這應該怎麼寫
這個/user/bin/expect 是什麼東東,一個命令??
#!/bin/bash 這個意思是,該腳本用bash來解析!!圓虛
如果你是想引用一個文件,然後用這個文件中定義的函數或者變數的話,可以這樣
. /user/bin/expect ,注意前面的點
-------------------------------------------------------------------------------------------------------------
孤陋寡聞了,看了xiehuahere的回答,特地了解了下expect腳本,可以這么玩:
cat login.exp
#!/usr/攜坦bin/expect -f
。。。。。。。
然後在shell腳本中調用即可:
#!/橘隱燃bin/bash
expect /root/shell/login.exp $i $j
㈦ shell腳本,求大神詳細解答一下這個腳本的功能(參數設置方式),謝謝! (Linux下測試VDBench用的)
這個腳本大致流程是這樣的:
腳本需要傳入一個磁碟名稱的參數氏唯賦值畢首給dev變數
通過函數config來生成配置文件wd.cfg, 這些配置文件的參數你可以去參考下vdbench命令
最終執行磁碟性能測殲數培試命令 ./vdbench -f wd.cfg 生成一個4K_write_ran_"當前時間" 的一個報告文件
㈧ shell腳本報錯:「#!/bin/bash: 沒有那個文件或目錄」,該怎麼辦
你確認你腳本第一行寫的是#!/bin/bash,從你的出錯信息中看,你寫的好像是bin/bash,少個/。有種方法可以解決,你可以從其他地方一個shell腳本到你需要的目錄下,然後vi進去把內容刪除,重新把你寫的腳本內容粘貼進去,保存就行了,當然,原來腳本的頭文件位置就不要更改了。#!/bin/bash,
具體如下:
1、簡介
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
2、匯編程序
匯編程序。使用匯編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統的硬體結構,所以從程序設計本身上來看仍然是低效率的、繁瑣的。但正是由於匯編語言與計算機硬體系統關系密切,在某些特定的場合,如對時空效率要求很高的系統核心程序以及實時控製程序等,迄今為止匯編語言仍然是十分有效的程序設計工具。
3、執行原理
計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。這種將高級編程硬體程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
㈨ linux 中如何執行腳本
首先腳本需要有執行許可權
chmod u+x file.sh
執行腳本有三種方法:
1. ./file.sh
特點:開啟bash子進程來執行,也就是開啟額外的進程來進行,不影響原進程的變數、配置等
2. bash file.sh
特點:和./file.sh相同
3. source file.sh 或者 . file.sh
特點:在原bash進程中執行腳本。
第三種方法主要用於在腳本中切換用戶su、切換目錄cd等命令。
source 和 . 命令是相同的。
你可以搜索 source
補充,如何查看腳本運行是否開啟了bash子進程
1.
vim
file.sh
2.
寫入
#!/bin/bash
#echo
$$命令會輸出bash進程id
echo
$$
3.
保存並賦予可執行許可權chmod
u+x
file.sh
4.
在你的shell中輸入,echo
$$
屏幕輸出4176
5.
./file.sh
屏幕輸出3600
6.
bash
file.sh
屏幕輸出3984
7.
source
file.sh
屏幕輸出4176
和
你直接在shell中輸出的一樣,說明是在同一個bash進程
㈩ Linux配置開機自啟動執行腳本有哪些方法
設置test.sh為開機要啟動的腳本
[root@oldboy scripts]# vim /server/scripts/test.sh
[root@oldboy scripts]# cat /server/scripts/ test.sh
#!/bin/bash
/bin/echo $(/bin/date +%F_%T) >> /tmp/ test.log
方法一:修改/etc/rc.local
[root@oldboy ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar 30 10:50 /etc/rc.local -> rc.d/rc.local
修改/etc/rc.local文件
[root@oldboy scripts]# tail -n 1 /etc/rc.local
/bin/bash /server/scripts/test.sh >/dev/null 2>/dev/null
重啟系統,查看結果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
方法二:chkconfig管理
刪除掉方法一的配置
[root@oldboy ~]# vim /etc/init.d/test
#!/bin/bash
# chkconfig: 3 88 88
/bin/bash /server/scripts/test.sh >臘敏/dev/null 2>/dev/null
[root@oldboy ~]# chmod +x /etc/init.d/test
添加到chkconfig,開機自啟動
[root@oldboy ~]# chkconfig --add test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:on 4:off 5:off 6:off
重啟系統,查看結果
[root@oldboy ~]# cat /tmp/test.log
2018-03-30_12:00:10
2018-03-30_12:33:20
操作成功
關閉開機啟動
[root@oldboy ~]# chkconfig test off
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
從chkconfig管理中刪攜局神除辯虧test
[root@oldboy ~]# chkconfig --list test
test 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@oldboy ~]# chkconfig --del test
[root@oldboy ~]# chkconfig --list test
service test supports chkconfig, but is not referenced in any runlevel (run
'chkconfig --add test')