shell指令碼練習題

2021-07-01 20:19:54 字數 2879 閱讀 3929

#!/bin/bash

#寫乙個指令碼

# 1.設定變數file的值為/etc/passwd

# 2.依次向/etc/passwd中的每個使用者問好,並且說出對方的id是多少

#形如:

# hello,root,your uid is 0.

file=/etc/passwd

count=`wc -l $ | cut -f1 -d" "`

for i in `seq $`

do user=`head -n $ $ | tail -n 1 | cut -f5 -d":"`

id=`head -n $ $ | tail -n 1 | cut -f4 -d":"`

echo hello, $, your uid is $

done

#!/bin/bash

#寫乙個指令碼

# 1.切換工作目錄至/var

# 2.依次向/var目錄中的每個檔案或子目錄問好,形如:

# hello,log

# 3.統計/var目錄下共有多個檔案,並顯示出來

work_path=/var

num=0

cd $ #切換工作目錄

for file in `ls `

do echo hello,$ #依次像每個檔案或子目錄問號

let num+=1 #let 是做數值運算

done

echo the number of files is $ #顯示共有多少個檔案

#!/bin/bash

#寫乙個指令碼

# 1.設定變數file的值為/etc/passwd

# 2.使用迴圈讀取檔案/etc/passwd的第2,4,6,10,13,15行,並顯示其內容

# 3.把這些行儲存至/tmp/mypasswd檔案中

file=/etc/passwd

file_tmp=/tmp/mypasswd

for i in 2 4 6 10 13 15

do echo `head -n $ $| tail -n 1 | tee -a $`

done

#!/bin/bash

#寫乙個指令碼

# 傳遞兩個整數給指令碼,讓指令碼分別計算並顯示這兩個整數的和,差,積,商

if [ $# -lt 2 ]

then

echo $ number number

exit

fiecho first number is $

echo second number is $

echo $(($1+$2))

echo $[$1-$2]

echo $[$1*$2]

echo $[$1/$2]

#!/bin/bash

#寫乙個指令碼:

# 1.建立目錄/tmp/scripts

# 2.切換工作目錄至此目錄中

# 3.複製/etc/pam.d目錄至當前目錄,並重命名為test

# 4.將當前目錄的test及其裡面的檔案和子目錄的屬主改為gino

# 5.將test及其子目錄中的檔案的其它使用者的許可權改為沒有任何許可權

folder=/tmp/scripts

folder_source=/etc/pam.d

if [ ! -d $ ] #判斷目錄是否存在,不存在則建立目錄

then

mkdir $folder

fi cd $ #切換到工作目錄

cp -rf $folder_source ./test

chown -r gino ./test #更改屬主

chmod 700 ./test #更改許可權

#!/bin/bash

#寫乙個指令碼

# 1.顯示當前系統日期和時間,而後建立目錄/tmp/lstest

# 2.切換工作目錄至/tmp/lstest

# 3.建立目錄a1d,b56e,6test

# 4.建立空檔案xy,x2y,732

# 5.列出當前目錄下以a,x或者6開頭的檔案或目錄

# 6.列出當前目錄下以字母開頭,後跟乙個任意數字,而後跟任意長度字元的檔案或目錄

folder=/tmp/lstest

date #顯示當前時間與日期

if [ ! -d $ ] #判斷目錄是否存在,如果不存在則建立

then

mkdir $

ficd $

if [ ! -d "a1d" ]

then

mkdir a1d

fiif [ ! -d "b56e" ]

then

mkdir b56e

fiif [ ! -d "6test" ]

then

mkdir 6test

fiif [ ! -f "xy" ]

then

touch xy

fiif [ ! -f "x2y" ]

then

touch x2y

fiif [ ! -f "732" ]

then

touch 732

fils [ax6]*

ls [[:alpha:]][[:digit:]]*

shell指令碼練習題

bin bash echo 九九乘法表 注意 之間不能有空格 加減乘除的格式 還有轉義字元 ne for i 1 i 9 i i 1 do for j 1 j i j j 1 do result i j echo ne i j result t done echo done bin bash num...

shell指令碼基礎練習題

1.設計乙個 shell 程式,新增乙個新組為 class1,然後新增屬於這個組的 30 個使用者,使用者名稱的形式為stuxx,其中 xx 從 01 到 30。在 tmp目錄下新建乙個shell指令碼std.sh root localhost tmp vim std.sh bin bash 新增乙...

shell程式設計練習題

g echo she is a girl g echo she is a girl b echo he is a boy b echo he is a boy echo i dont know esac 注 此處echo輸出的內容最好用雙引號引起來 雖然官方手冊說可以不用雙引號,但在本系統cento...