-
查看全部
-
執(zhí)行腳本無視報錯,可正常運行
多功能精準(zhǔn)刪除并解壓縮實驗
[root@localhost ~]#? vim tar
#!/bin/bash
read -t 30 -p "Please enter the absolute path of the compressed file : " lj
if [ -e "$lj" ]
? ? ? ? then
echo $lj >> where
echo -e "\e[1;32m \ta? ?--- tar -zxvf\n\tb? ?--- gunzip\n\tc? ?--- unzip\n\td? ?--- bunzip2 \e[0m"
read -t 30 -p "please input a-d : " jyfs
for j in $( cat where )
? ? ? ? do
? ? ? ? ? ? ? ? cd $j
? ? ? ? done
case $jyfs in
? ? ? ? "a")
? ? ? ? ? ? ? ? touch file /dev/null
? ? ? ? ? ? ? ? ls *.tar.gz > file
? ? ? ? ? ? ? ? for j in $( cat file )
? ? ? ? ? ? ? ? ? ? ? ? do
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? tar -zxvf $j & > /dev/null
? ? ? ? ? ? ? ? ? ? ? ? done
? ? ? ? ? ? ? ? rm -rf file /dev/null
? ? ? ? ? ? ? ? ;;
? ? ? ? "b")
? ? ? ? ? ? ? ? touch file1 /dev/null1
? ? ? ? ? ? ? ? ls *.gz > file1
? ? ? ? ? ? ? ? for k in $( cat file1 )
? ? ? ? ? ? ? ? ? ? ? ? do
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? gunzip $k & > /dev/null1
? ? ? ? ? ? ? ? ? ? ? ? done
? ? ? ? ? ? ? ? rm -rf? file1 /dev/null1
? ? ? ? ? ? ? ? ;;
? ? ? ? "c")
? ? ? ? ? ? ? ? touch file2 /dev/null2
? ? ? ? ? ? ? ? ls *.zip > file2
? ? ? ? ? ? ? ? for l in $( cat file2 )
? ? ? ? ? ? ? ? ? ? ? ? do
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? unzip $l & > /dev/null2
? ? ? ? ? ? ? ? ? ? ? ? done
? ? ? ? ? ? ? ? rm -rf file2 /dev/null2
? ? ? ? ? ? ? ? ;;
? ? ? ? "d")
? ? ? ? ? ? ? ? touch file3 /dev/null3
? ? ? ? ? ? ? ? ls *.bz2 > file3
? ? ? ? ? ? ? ? for m in $( cat file3 )
? ? ? ? ? ? ? ? ? ? ? ? do
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? bunzip2 -k $m & > /dev/null3
? ? ? ? ? ? ? ? ? ? ? ? done
? ? ? ? ? ? ? ? rm -rf file3 /dev/null3
? ? ? ? ? ? ? ? ;;
? ? ? ? *)
? ? ? ? ? ? ? ? echo "No compressed files,Or there is no such option"
esac
fi
[root@localhost ~]# chmod 755 tar
[root@localhost ~]# ls
ag? ? ? ? ? ? ? ?dohave? ? ? ? ? ? ? ? jjcc? ? ? ? ?newtest? shell1? years? 視頻? 下載
anaconda-ks.cfg? if1? ? ? ? ? ? ? ? ? ?lass.tar.gz? old? ? ? tar? ? ?公共? ?圖片? 音樂
and? ? ? ? ? ? ? initial-setup-ks.cfg? mm? ? ? ? ? ?sh2006? ?where? ?模板? ?文檔? 桌面
[root@localhost ~]# ./tar?
Please enter the absolute path of the compressed file : /root? ??
#壓縮文件所在的絕對路徑
? a? ?--- tar -zxvf
b? ?--- gunzip
c? ?--- unzip
d? ?--- bunzip2?
please input a-d : a? ? ? ? ? ? ?#請輸入a-d
./tar: 第 10 行:cd: b: 沒有那個文件或目錄
[root@localhost ~]# ./tar:行19: 無法從 /dev/null 重定向標(biāo)準(zhǔn)輸入: 沒有那個文件或目錄
lass
[root@localhost ~]# ls
ag? ? ? ? ? ? ? ?if1? ? ? ? ? ? ? ? ? ?lass.tar.gz? sh2006? years? 圖片? 桌面
anaconda-ks.cfg? initial-setup-ks.cfg? mm? ? ? ? ? ?shell1? 公共? ?文檔
and? ? ? ? ? ? ? jjcc? ? ? ? ? ? ? ? ? newtest? ? ? tar? ? ?模板? ?下載
dohave? ? ? ? ? ?lass ? ? ? ? ? ? ? ? ?old? ? ? ? ? where? ?視頻? ?音樂
查看全部 -
兄弟連linux一模一樣
查看全部 -
懶人腳本
[root@localhost ~]# vim sh2006
#!/bin/bash
echo -e "\e[1;31m Can I hlep you ? \e[0m"
echo -e "\e[1;32m \ta? ?--- systemctl restart network \n\tb? ?--- systemctl stop firewalld\n\tc? ?--- ip a\n\td? ?--- shutdown -h now\n\te? ?--- shoutdown -r now\n\tf? ?--- systemclt restart vsftpd\n\tg? ?--- systemctl restart named\n\th? ?--- systemctl restart nmb\n\ti? ?--- systemctl restart smb\n\tj? ?--- systemctl restart httpd \e[0m"
read -t 30 -p "Please you input a-j : " hp
if [ -n "$hp" ]
? ? ? ? then
? ? ? ? ? ? ? ? case $hp in
? ? ? ? ? ? ? ? ? ? ? ? "a")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? systemctl restart network
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Restart the network card"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "b")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? systemctl stop firewalld
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Turn off the firewall"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "c")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ip a
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "View network card information"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "d")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? shutdown -h now
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Shut down the virtual machine"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "e")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? shutdown -r now
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Restart the virtual machine"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "f")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? systemctl restart vsftpd
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Restart the ftp"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "g")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? systemctl restart named
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Restart the DNS"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "h")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? systemctl restart nmb
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Restart the nmb"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "i")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? systemctl restart smb
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Restart the nmb"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? "j")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? systemctl restart httpd
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "Restart the http"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /root/sh2006
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? "l")
? echo "exit"
? ;;
? ? ? ? ? ? ? ? ? ? ? ? *)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? echo "No such option"
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ;;
? ? ? ? ? ? ? ? ? ? ? ? esac
fi
? [root@localhost ~]# chmod 755 /root/sh2006? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [root@localhost ~]# ./sh2006
查看全部 -
加減乘除
vim jjcc
#!/bin/bash
read -t 30 -p "Please input? + and - and * and /? : "? jjcc
read -t 30 -p "Please input? number? : " num1
read -t 30? -p? "Please input? number? :? " num2
if [ "$jjcc" == + -a -n "$num1" -a -n "$num2" ]
? ? ? ? then
? ? ? ? ? ? ? ? sum=$(($num1 + $num2))
? ? ? ? ? ? ? ? echo "num1+num2=$sum"
elif [ "$jjcc" == - -a -n "$num1" -a -n "$num2" ]
? ? ? ? then
? ? ? ? ? ? ? ? sum=$(($num1 - $num2))
? ? ? ? ? ? ? ? echo "num1-num2=$sum"
elif [ "$jjcc" == "*" -a -n "$num1" -a -n "$num2" ]
? ? ? ? then
? ? ? ? ? ? ? ? sum=$(($num1 * $num2))
? ? ? ? ? ? ? ? echo "num1 x num2=$sum"
elif [ "$jjcc" == / -a -n "$num1" -a -n "$num2" ]
? ? ? ? then
? ? ? ? ? ? ? ? sum=$(($num1 / $num2))
? ? ? ? ? ? ? ? echo "num1/num2=$sum"
else
? ? ? ? ? ? ? ? echo "num1 or num2 no number"
fi
查看全部 -
#!/bin/bash
# int=1
# while (($int <= 5)); do
# ? ? echo $int
# ? ? let "int++"
# done
# echo '按下 <CTRL-D> 退出'
# echo -n '輸入你最喜歡的網(wǎng)站名: '
# while read FILM; do
# ? ? echo "是的!$FILM 是一個好網(wǎng)站"
# done
# 累加
i=1
sum=0
while [ $i -le 100 ]; do
sum=$(($sum + $i))
i=$(($i + 1))
done
echo $sum
從上面可知 條件可以為數(shù)字比較表達(dá)式 或者命令 比如read
查看全部 -
#!/bin/bash
# 條件為false繼續(xù)循環(huán) 為true終止循環(huán)
i=1
sum=0
until [ $i -gt 100 ]; do
sum=$(($sum + $i))
let i++
done
echo $sum
查看全部 -
#!/bin/bash
# 批量解壓縮文件
ls *.tar.gz > ls.log
ls *.tgz >> ls.log
for item in $(cat ls.log); do
# echo "${item}"
tar -zxf $item & > ./null # 不顯示任何信息
done
rm -rf ./ls.log
查看全部 -
#!/bin/bash
# 累加
sum=0
for ((i = 0; i <= 100; i++)); do
# echo "${i}"
sum=$(($sum + $i))
done
echo $sum
查看全部 -
#!/bin/bash
# for有多種形式
for item in 1 2 3 4 5; do
echo "value: $item"
done
for item in {"Hello World!",a,bc,1372}; do
echo "${item}"
done
for item in {a..z}; do
echo "${item}"
done
for ((i = 0; i < 10; i++)); do # 數(shù)值的計算需要加小括號
echo "${i}"
done
for((i=0;i<n;i++)); do
for((j=0;j<m;j++)); do
echo "${i}, ${j}"
done
done
for col in $(docker images | awk '{ print $1":"$2 }'); do
echo "${col}" | cut -d ':' -f 1
echo "${col}" | cut -d ':' -f 2
done
查看全部 -
ls *.tar.gz > ls.log 覆蓋到log文件
ls *.tgz >> ls.log 追加到log文件
查看全部 -
str1 == str2 判斷字符串是否相等
str1 != str2 判斷字符串是否不相等
查看全部 -
-n 判斷字符串是否為空 不為空返回true
-z 判斷字符串是否為空 為空返回true
-a and 且 串聯(lián)多個條件
-o or 或
查看全部 -
#!/bin/bash
#給變量s賦值
s=0
#for循環(huán),變量i作為計數(shù)值從1開始,循環(huán)100次
for ((i=1;i<=100;i=i+1))
? ? ? ? do
#變量s的值由初始值+計數(shù)值? ??
????s=$(($s+$i))
? ? ? ? done
echo "1+2+3+4....+100=$s"
查看全部 -
#!/bin/bash
#先切換目錄到準(zhǔn)備要解壓的文件夾下
cd /root/test
#把.tar.gz格式要解壓的文件輸出重定向?qū)懭雔s.log
ls *.tar.gz > ls.log
#讀取ls.log中要解壓的文件進(jìn)行循環(huán)解壓
for i in $( cat ls.log )
? ? ? ? do
#解壓出來的過程不顯示,并把解壓過程信息輸出重定向?qū)懭雗ull
? ? ? ? ? ?tar -xzf $i & > /dev/null
? ? ? ? done
#刪除臨時文件
rm -rf ls.log
查看全部
舉報