shell指令碼作業

2022-09-07 21:39:26 字數 2932 閱讀 1443

1、判斷/etc/inittab檔案是否大於100行,如果大於,則顯示」/etc/inittab is a big file.」否者顯示」/etc/inittab is

a small file.」

#!/bin/bash

a=`awk '

' /etc/inittab|tail -n1`

if [$a>100

];then

echo

"檔案為大檔案

"else

echo

"檔案不足100行"fi

2、給定乙個使用者,來判斷這個使用者是什麼使用者,如果是管理員使用者,則顯示「該使用者為管理員」,否則顯示「該使用者為普通使用者」

#!/bin/bash

read -p "

輸入使用者:

"username

echo $username

a=`id -u $username`

echo "$a

"if [ $a -lt 500

];then

echo

"該使用者是管理員使用者

"else

echo

"該使用者為普通使用者"fi

3、判斷某個檔案是否存在

#/bin/bash

read -p "

輸入乙個檔案:

"file

ex=`ls $file`

if [ $ex == "

ls: cannot access e: no such file or directory"]

then

echo

"無此檔案

"else

echo

"有此檔案"fi

4、判斷當前系統上是否有使用者的預設shell程式是否為bash程式,如果有,就顯示有多個這類使用者,否則就顯示沒有這類使用者;【並且顯示出那些使用者是bash】

#!/bin/bash

grep

"\" /etc/passwd &> /dev/null

retal= $?

if [ $retal==0

];then

users=`grep "

\" /etc/passwd`

echo $users

else

echo

"沒有使用者"fi

5、寫出乙個指令碼程式,給定乙個檔案,比如:/etc/inittab a、判斷這個檔案中是否有空白行? b、如果有,則顯示其空白行的行號,否則顯示沒有空白行

#!/bin/bash

read -p "

請輸入檔名稱:

"file

c=`grep ^$ $file|wc -l`

if [ $c -gt 0

];then

echo $c

else

echo

"沒有空白行"fi

6、寫乙個指令碼程式,給定乙個使用者,判斷其uid與gid是否一樣,如果一樣,就顯示該使用者為「good guy」,否則顯示為「bad guy」

#!/bin/bash

read -p "

輸入乙個使用者名稱:

"user

uid1=`cat /etc/passwd |grep $user| cut -d: -f3`

gid1=`cat /etc/passwd |grep $user| cut -d: -f4`

echo $uid1

echo $gid1

if [ $uid1-eq$gid1 ];

then

echo

"good guy

"else

echo

"bad guy"fi

7、寫乙個指令碼程式,給定乙個使用者,獲取其密碼警告期限;然後判斷使用者最近一次修改密碼的時間距離今天是否已經小於警告期限; 8

、判斷命令歷史中歷史命令的總條目是否大於1000,如果大於,則顯示「some command will gone」,否則顯示ok

#!/bin/bash

num=`wc -l /root/.bash_history`

echo $num

if [ $num -gt 1000

];then

echo

"some commed will gone

"else

echo "ok

"fi9、給定乙個檔案,如果是普通檔案,就顯示出來,如果是目錄檔案,也顯示出來,否則就顯示「無法識別」

#!/bin/bash

read -p "

輸入乙個檔案》

"file1

if [ -f `ls $file1` ];then

echo 「普通檔案」

elif [ -d `ls $file1` ];then

echo 」目錄檔案「

else

echo

"無法識別"fi

10、寫乙個指令碼,能接受乙個引數(檔案路徑),判斷這個引數如果是乙個存在的檔案就顯示「ok」,否則顯示「no such file」

#!/bin/bash

read -p "

給定乙個檔案路徑》

"file1

if [ -n `ls $file1` ];then

echo

"此檔案存在在

"else

echo

"檔案不存在"fi

11、寫乙個指令碼,給指令碼傳遞兩個引數,顯示兩則之和和兩者之積

#!/bin/bash

read -p "

輸入引數a>>"a

read -p "

輸入引數b>>"b

let c=$a+$b

let d=$a*$b

echo

"a+b=$c

"echo

"a*b=$d

"

Shell指令碼(三) Shell指令碼入門

1 指令碼格式 指令碼以 bin bash開頭 指定解析器 2 第乙個shell指令碼 helloworld 1 需求 建立乙個shell指令碼,輸出helloworld 2 案例實操 atguigu hadoop101 datas touch helloworld.sh atguigu hadoo...

Shell指令碼和shell

1.shell script,shell指令碼與windows dos下的批處理相似,也就是用各類命令預先放入到乙個檔案中,方便一次性執行的乙個程式檔案,主要是方便管理員進行設定或者管理用的。但是它比windows下的批處理更強大,比用其他程式設計程式編輯的程式效率更高,畢竟它使用了linux un...

shell 執行shell指令碼

bin bash echo hello world 是乙個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種 shell。echo 命令用於向視窗輸出文字。1 作為可執行程式 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼注意,一定要寫成 test...