當前位置:生活全書館 >

綜合知識

> Linux如何編寫shell指令碼 linux怎麼寫shell指令碼

Linux如何編寫shell指令碼 linux怎麼寫shell指令碼

1.Linux如何編寫shell指令碼

一般以

linux怎麼寫shell指令碼 Linux如何編寫shell指令碼

#!/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或其他)。

建議閱讀linux相關書籍 比如說《linux就該這麼學》。

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

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

指令碼可以這樣寫:

#!/bin/bash

PRO=ps x|grep p|grep -v grep|awk '{print $1}'

kill -9 $PRO

service mand | tee outfile basename file: 返回不包含路徑的檔名比如: basename /bin/tux將返回 tux dirname file: 返回檔案所在路徑比如:dirname /bin/tux將返回 /bin head file: 列印文字檔案開頭幾行 tail file : 列印文字檔案末尾幾行 sed: Sed是一個基本的查詢替換程式。

可以從標準輸入(比如命令管道)讀入文字,並將結果輸出到標準輸出(螢幕)。該命令採用正則表示式(見參考)進行搜尋。

不要和shell中的萬用字元相混淆。比如:將linuxfocus 替換為 LinuxFocus :cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.file awk: awk 用來從文字檔案中提取欄位。

預設地,欄位分割符是空格,可以使用-F指定其他分割符。cat file.txt | awk -F, '{print $1 "," $3 }'這裡我們使用,作為欄位分割符,同時列印第一個和第三個欄位。

如果該檔案內容如下: Adam Bor, 34, IndiaKerry Miller, 22, USA命令輸出結果為:Adam Bor, IndiaKerry 。

6.linux下如何編寫shell指令碼

我對shell指令碼的認識,除了執行過同事寫的shell 指令碼外,其他一無所知,為了讓自己強大,我決定自己研究shell指令碼,也許在你看來很簡答,沒必要說這麼多廢話,但是我希望在我的技術blog裡記錄下來每次的學習的動機,與思想過程,並且我希望用1個小時的時間完成學習並且寫出我想要的shell指令碼,可以開始了:

對shell的認識:

開始建立一個指令碼:

我們使用bash(bourne/目的地,邊界/ again shell)

使用gedit編輯器編寫,或者vi等,依據個人習慣;在檔案的第一行,以下面的內容開始:#!/ bin/sh解釋:#! ----告訴系統後面的引數是用來執行該檔案的程式,在這裡我們使用/ bin / sh 來執行指令碼

編輯好指令碼,要執行該指令碼就必須使該指令碼可執行:

要使指令碼可執行:在檔案的末尾加上下面的內容:

chmod + x filename

在命令終端上可輸入 ./filename來執行指令碼

==============================================註釋:以#開頭,直到這一行結束,養成註釋的好習慣;

以後程式設計中用到的具體的語言以後再補充;

這裡一個簡單的輸出hello word!指令碼的例子:

7.如何編寫一個shell指令碼

新建一個檔案shell指令碼一般用*.sh作為字尾當然勇氣他的也可以。開啟終端輸入touch first.sh 新建一個名為first的shell指令碼。

編寫一個簡單的linuxshell指令碼

使用vim 編輯first.sh也可以用其他的文字編輯器,推薦使用vim

使用命令 vim first.sh開啟,輸入i進入編輯模式。

編寫一個簡單的linuxshell指令碼

我們寫入一個簡單的shell指令碼,注意第一行的程式碼直譯器的指定,這裡使用的是/bin/bash/ 直譯器 也可用其他的根據個人情況自己選擇。

指令碼解釋:

echo //顯示一串字元並自動換行

read NAME //從螢幕獲取一段字元,並賦予NAME

$NAME //取NAME變數的值

# //只用一個#表示註釋文字

編寫一個簡單的linuxshell指令碼

檔案寫完後按下esc鍵 退出插入模式,接著輸入:wq 儲存文字並退出文字編輯。

編寫一個簡單的linuxshell指令碼

輸入sh + 指令碼名稱 執行指令碼,或給檔案可執行許可權 chmod +x 然後輸入./first.sh執行指令碼。

  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/xznmll.html