#! /bin/bash/
#for迴圈的使用
for num in 1 2 3 4 5 6
do echo "$num"
done
#! /bin/bash/
a=`whoami`
read -p "請輸入想要驗證的使用者名稱:" b
if [[ $b = $a ]]
then
echo "是當前使用者"
else
echo "不是當前使用者,需示警"
fi
#! /bin/bash/
n=`ls`
for name in $n
do if [[ -d $name ]]
then
b=0else
a=$(ls -l $name | awk '')
if [ $a -eq 0 ]
then
rm $name
fifidone
#! /bin/bash/
read -p "輸入第乙個引數:" a
read -p "輸入第二個引數:" b
#任意三個整數判斷最大數
echo "please enter three number:"
read -p "first:" n1
read -p "second:" n2
read -p "thirt:" n3
max=$n1
if test $n1 -lt $n2;then
max=$n2
fiif test $n1 -lt $n3;then
max=$n3
fiif test $n2 -lt $n3;then
max=$n3
fiecho "max:$max"
#! /bin/bash/
read -p "輸入第乙個引數:" a
read -p "輸入第二個引數:" b
read -p "輸入第三個引數:" c
if [ $a -gt $b ]
then
if [ $a -gt $c ]
then
echo $a
else
echo $c
fielse
if [ $b -gt $c ]
then
echo $b
else
echo $c
fifi
#! /bin/bash/
#球100以內偶數的和
let sum=0
for i in `seq 1 100`
do if [ $[$i%2] == 0 ]; then
let sum+=$i
fidone
echo $sum
#! /bin/bash
read -p "請輸入第乙個引數:" a
read -p "請輸入第二個引數:" b
function test()
test $a $b
#! /bin/bash/
#使用awk只能輸出文件行數(擷取第一段)
n=`wc -l a.txt|awk ''`
sum=0
#文當中每一行可能存在空格,因此不能直接用文件內容進行遍歷
for i in `seq 1 $n`
do #輸出的行用變數標譠時,需要用雙引號
line=`sed -n "$i"p a.txt`
#wc -l選項,統計最長行的長度
n_n=`echo $line|sed s'/[^0-9]//'g |wc -l`
echo $n_n
sum=$[$num+$n_n]
done
echo "sum:$sum"
#! /bin/bash/
#使用linux命令查詢file1中空行所在的行號
awk '/^$/' file1.txt
#! /bin/bash/
echo `basename test.txt`
echo `base name test.txt .txt`
替換
#! /bin/bash/
echo "i love you" > test.txt
追加
echo "i love you ~" >> test.txt
#! /bin/bash/
cat test.txt | awk -f " " ' end'
#! /bin/bash/
#通過對比兩台伺服器上檔案的md5值,達到監測一致性的目的
dir = /data/web
b_ip=10.170.173.40
#將指定目錄下的檔案全部遍歷出來並作為md5sum命令的引數,進而得到所有檔案的md5值寫入到指定檔案中
find $dir -type f | xargs md5sum > /tmp/md5_a.txt
ssh $b_ip "find $dir -type f|xargs md5sum > /tmp/md5_b.txt "
scp $b_ip:/tml/md5_b.txt /tmp
#將檔名作為遍歷物件進行一一對比
for f in `awk ' /tmp/md5_a.txt'`
do#以a機器為標準,當b機器不存在遍歷物件中的檔案時,直接輸出不存在的結果
if grep -qw "$f" /tmp/md5_b.txt
then
md5_a=`grep -w "$f" /tmp/md5_a.txt|awk ''`
md5_b=`grep -w "$f" /tmp/md5_b.txt|awk ''`
#當檔案存在時,如果md5值不一致則輸出檔案改變的結果
if [ $md5_a != $md5_b ]
then
echo "$f changed."
fielse
echo "$f deleted"
fidone
#! /bin/bash/
logfile = /tmp/`date +%h-%f`.log
n=`data + %h`
if [ $n -eq 00 ] || [ $n -eq 12 ]
then
#通過for迴圈,find命令作為遍歷條件,將目標目錄下的所有檔案進行遍歷並做相應操作
shell指令碼案例賞析
bin bash 用法 rebatch.sh 截止到月份的日期 例如 rebatch.sh 2014 06 etc profile bashrc arg 1 start date 01 end date 01 count 1 cat dev null log file db2 o connect t...
shell指令碼案例(提供思路)
1 define the execution environment of the script 定義指令碼的執行環境 執行指令碼用英文 usr bin bash 2 號代表注釋 是特例 3 指令碼資訊 author tang xiaoming created time 2019 05 07 11 ...
shell指令碼案例 二 HDFS檔案定期清理
當前環境的hdfs的空間使用率,即將達到95 手動清理比較繁瑣,需要寫個指令碼定期清理下最早5天的日誌量。方法之一 定期檢查hdfs的空間佔用率,若超過95 則刪除最早5天的日誌檔案。設定使用率閾值 查詢當前使用率,若達到閾值,查詢出最早5天的檔案 將查詢到的檔案刪除 linux shell可以用f...