溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux shell腳本的基礎(chǔ)知識(shí)整理

發(fā)布時(shí)間:2021-09-17 07:58:54 來源:億速云 閱讀:126 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要講解了“l(fā)inux shell腳本的基礎(chǔ)知識(shí)整理”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux shell腳本的基礎(chǔ)知識(shí)整理”吧!

Shell腳本:

1、#!  指定腳本執(zhí)行的shell
2、# 注釋
3、命令或語法結(jié)構(gòu)
echo "輸入內(nèi)容"
echo 輸出空行

執(zhí)行:

1、shell 腳本
   sh example
2、給shell腳本執(zhí)行權(quán)限
   chmod u+x example

案例:example  sysinfo.sh
 
3abc  x  不能以數(shù)字開頭
abc3
ABC3

環(huán)境變量-大寫
 
命令執(zhí)行結(jié)果賦值變量使用 命令替換符 ``
PATH=$PATH:/root/shell.example

ls -l /etc/inittab /etc/fstab /etc/services
  $0      $1           $2         $3

$0-$9
$*  /etc/inittab /etc/fstab /etc/services
$#  3
$$  PID
$?  命令返回值   0  非0

案例:special.var
 
read  案例:read

expr 運(yùn)算符前后要空格,乘號(hào)*要加轉(zhuǎn)義符
案例:expr

test
1、字符串測(cè)試    是否相等、是否為空
2、整數(shù)測(cè)試   相等、大于、小于
3、文件測(cè)試   文件類型、文件權(quán)限、文件存在、文件大小

單支循環(huán):if/then
if 測(cè)試條件
then
執(zhí)行操作
fi

APACHE=`/usr/bin/pgrep httpd`

if [ "$APACHE" = "" ]
then
        /etc/rc.d/init.d/httpd start
fi

sh -x 腳本      在執(zhí)行時(shí)顯示執(zhí)行過程   +或++ 注釋
*/2 12-14 * 3-6,9-12 1-5 /root/shell-example/apache.test

 
雙支循環(huán):if/else

if 測(cè)試語句
then
真: 操作
else
假: 操作
fi

案例:test.apache  autobak.sh
 
tar -cf 新文件名 目錄

多支循環(huán): if/elif
案例: if_else  判斷文件類型
條件連接 -o 邏輯或or  -a 邏輯與and

exit退出語句
if [ "$#" != 2 ]
then
        echo " MUST two parm!"
fi
echo "this is a test"
echo $1 $2

sh exit first
條件為真退出 exit 0    條件為假退出 exit 1 非0
添加exit語句 sh exit first

for循環(huán)
案例:for  自動(dòng)將用戶踢出系統(tǒng) killuser.sh

awk -F域分隔符 '命令'     默認(rèn)分隔符就是空格
ps -le | grep httpd | awk '{print $4}'
awk -F: '$3==0 {print $1}' /etc/passwd
統(tǒng)計(jì)系統(tǒng)用戶數(shù)
awk -F: '$3>=500 {print $1}' /etc/passwd | grep -v nfsnobody | wc -l
awk -F: 'length($2)==0 {print $1}' /etc/shadow

case    案例:case    /etc/rc.d/init.d/httpd

while   條件為真一直循環(huán)   案例:while  useradd.sh
until   條件為假一直循環(huán)

echo 密碼 | passwd --stdin 用戶名

while計(jì)數(shù)循環(huán)

Windows寫腳本會(huì)有不可識(shí)別控制符要處理

dos2unix 腳本

感謝各位的閱讀,以上就是“l(fā)inux shell腳本的基礎(chǔ)知識(shí)整理”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)linux shell腳本的基礎(chǔ)知識(shí)整理這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI