linux如何編寫shell指令碼

時間 2021-08-11 18:10:17

1樓:自然智慧樹

一般以#!/bin/sh開頭(不是必須要寫,但一定要單獨一行),指定執行這個指令碼的shell程式(也可以用#!/bin/zsh或其他),然後就是堆命令了。

linux的shell指令碼支援很多功能,加上linux高度模組化的命令,完全可以用shell指令碼寫出複雜的程式。

以上只是簡單介紹如何開始寫shell指令碼,如果要寫複雜的指令碼,還需要深入學習相關知識(如if——fi、case——esac等結構)。

當然,還需要給指令碼加上可執行許可權(chmod +x ./file.sh),否則可以用sh .

/file.sh方式執行指令碼(這裡的sh是執行指令碼所需shell,命令也可以是zsh ./file.

sh或其他)。

整個shell指令碼,其實就相當於你在終端輸入的一系列命令,如果想在shell裡做什麼,就先想想在終端可以做什麼吧,字元的的連線,就是直接用 "" 雙引號,輸出,變數定義無 $ 符號,但是使用時一定要加上 $ 符號。

"="  賦值符號,兩邊一定不能有空格,這和其他語言有區別,尤其是你還有自己**美觀風格時特別注意,否則會報語法錯誤!

for 中的陣列內容是以 " " 空格分隔,而非 "," 逗號分格。

條件判斷 [ true ] 中括號 後面需要有一個空格,但是兩個中括號之間不能有空格如 [[ true ]]。

while 條件判斷可以用 () 括號,也可以用 [[ ]] 中括號。

如果用windows寫shell,一定要注意換行符格式 \n 而非 \r\n , 需要藉助一些編輯器(如notepad++)更改換行符格式!

2樓:

一個hello world 的例子:

###################例1#####################

$echo "echo hello world\!"> myshell.sh

$sh myshell.sh

hello world!

###################例2#####################

$vi myshell.sh ##用vi編寫一個myshell.sh ,裡面寫 echo "hello world!"

$sh myshell.sh ##執行myshell.sh

hello world! ##螢幕輸出

##########################################

參考:1.vi 的用法:

2.shell 程式設計

linux如何編寫shell指令碼?

3樓:遲遐思麥酉

一個hello

world

的例子:

###################例1#####################

$echo

"echo

hello

world\!">

myshell.sh

$shmyshell.sh

hello

world!

###################例2#####################

$vimyshell.sh

##用vi編寫一個myshell.sh

,裡面寫

echo

"hello

world!"

$shmyshell.sh

##執行myshell.sh

hello

world!

##螢幕輸出

##########################################

參考:1.vi

的用法:

2.shell

程式設計

linux如何編寫shell指令碼?

4樓:自然智慧樹

一般以#!/bin/sh開頭(不是必須要寫,但一定要單獨一行),指定執行這個指令碼的shell程式(也可以用#!/bin/zsh或其他),然後就是堆命令了。

linux的shell指令碼支援很多功能,加上linux高度模組化的命令,完全可以用shell指令碼寫出複雜的程式。

以上只是簡單介紹如何開始寫shell指令碼,如果要寫複雜的指令碼,還需要深入學習相關知識(如if——fi、case——esac等結構)。

當然,還需要給指令碼加上可執行許可權(chmod +x ./file.sh),否則可以用sh .

/file.sh方式執行指令碼(這裡的sh是執行指令碼所需shell,命令也可以是zsh ./file.

sh或其他)。

整個shell指令碼,其實就相當於你在終端輸入的一系列命令,如果想在shell裡做什麼,就先想想在終端可以做什麼吧,字元的的連線,就是直接用 "" 雙引號,輸出,變數定義無 $ 符號,但是使用時一定要加上 $ 符號。

"="  賦值符號,兩邊一定不能有空格,這和其他語言有區別,尤其是你還有自己**美觀風格時特別注意,否則會報語法錯誤!

for 中的陣列內容是以 " " 空格分隔,而非 "," 逗號分格。

條件判斷 [ true ] 中括號 後面需要有一個空格,但是兩個中括號之間不能有空格如 [[ true ]]。

while 條件判斷可以用 () 括號,也可以用 [[ ]] 中括號。

如果用windows寫shell,一定要注意換行符格式 \n 而非 \r\n , 需要藉助一些編輯器(如notepad++)更改換行符格式!

linux下如何寫個shell指令碼,每天執行這麼幾句命令:

5樓:匿名使用者

1、登入抄centos7系統,開啟終端,輸入命令env shell列印出baishell程序的環境變數

。2、本du地zhi變數只dao存在當前shell程序。新建一個本地變數myvar=myvalue注意等號兩邊不能有空格。

3、檢視本地變數set檢視指定本地變數set | grep myvar。

4、匯出本地變數為環境變數export myvar。

5、刪除本地變數或環境變數unset myvar即可。

6樓:我只是喜歡吃魚

每天自動執bai行肯定是du要用一個crontab的

指令碼可以zhi這樣寫:

指令碼上面即可實現了

如果要版每天權自動執行,那麼需要新增一條crontab

如果你的p程序是apache程序,那麼直接start就行,如果不是那麼要restart

0 1 * * * /usr/local/encode/apachectl restart

上面提到的只能在/usr/local/encode下執行是說明你的服務直接執行的指令碼

如何編寫shell指令碼,如何編寫一個shell指令碼

新建一個檔案shell指令碼一般用 sh作為字尾當然勇氣他的也可以。開啟終端輸入touch first.sh 新建一個名為first的shell指令碼。編寫一個簡單的linuxshell指令碼 使用vim 編輯first.sh也可以用其他的文字編輯器,推薦使用vim 使用命令 vim first.s...

linu題目編寫shell指令碼它能夠顯示下面系

0,1,1,2,3,4,8,13 那個應當是5吧。bin sh a 0b 1 echo n a,b for i 0 i 8 i doc a b a b b c echo n c done echo 將上面儲存成fibonacci.sh。然後在命令列輸入 chmod u x fibonacci.sh最...

linux 中的shell相當於windows中的批處理嗎

差不多,windows是圖形介面,linux大多以命令列代替圖形介面 你可以這樣理解,但別這樣說出去,會笑話的。可以這麼理解,但是bat跟shell相比的話,bat太弱了 linux 和window 的批處理有區別?當然了,他們的shell是不同的 linux shell與windows dos有什...