shell Dグループ
4272 ワード
1、ユーザー名を入力し、パスワードを自由に設定
2.ファイルまたはディレクトリが存在するかどうかを判断する
3、シナリオを作成し、ヒューマンマシンゲームを実現する
4、スクリプトループを使用して3桁のテキストファイル(111-999のファイル)を作成します.
5,linuxシステムの中でUIDが1000より大きい普通のユーザーをすべて削除します
6、varnishソースパッケージソフトウェアの自動配置
7、統計/var/logはどれだけのファイルがあって、そしてこれらのファイル名を表示します
8ファイル内のすべての小文字を大文字に変換
9,コマンドライン送信メール
10,リモート実行サーバコマンドスクリプト
#!/bin/bash
# : , 。 , ; , 123456
read -p " :" user
# -z , , , , 2
# , $? 2
if [ -z $user ];then
echo " "
exit 2
fi
# stty -echo shell
# stty echo shell
stty -echo
read -p " :" pass
stty echo
pass=${pass:-123456}
useradd "$user"
echo "$pass" | passwd --stdin "$user"
2.ファイルまたはディレクトリが存在するかどうかを判断する
#!/bin/bash
#
if [ $# -eq 0 ];then
echo " , "
echo " :$0[ ][ ]"
fi
if [ -f $1 ];then
echo " "
ls -l $1
else
echo " "
fi
if [ -d $1 ];then
echo " "
ls -ld $2
else
echo " "
fi
3、シナリオを作成し、ヒューマンマシンゲームを実現する
#!/bin/bash
# ,
game=( )
num=$[RANDOM%3]
computer=${game[$num]}
#
# ,game[0],game[1],game[2] 3
echo " "
echo "1. "
echo "2. "
echo "3. "
read -p " 1-3:" person
case $person in
1)
if [ $num -eq 0 ];then
echo " "
elif [ $num -eq 1 ];then
echo " "
else
echo " "
fi;;
2)
if [ $num -eq 0 ];then
echo " "
elif [ $num -eq 1 ];then
echo " "
else
echo " "
fi;;
3)
if [ $num -eq 0 ];then
echo " "
elif [ $num -eq 1 ];then
echo " "
else
echo " "
fi;;
*)
echo " 1-3 "
esac
4、スクリプトループを使用して3桁のテキストファイル(111-999のファイル)を作成します.
#!/bin/bash
# (111-999 )
for i in {1..9}
do
for j in {1..9}
do
for k in {1..9}
do
touch /tmp/$i$j$k.txt
done
done
done
5,linuxシステムの中でUIDが1000より大きい普通のユーザーをすべて削除します
#!/bin/bash
linux UID 1000
# awk uid 1000
# for
user=$(awk -F: '$3>=1000{print $1}' /etc/passwd)
for i in $user
do
userdel -r $i
done
6、varnishソースパッケージソフトウェアの自動配置
#!/bin/bash
# varnish
# varnish-3.0.6.tar.gz ,
yum -y install gcc readline-devel pcre-devel
useradd -s /sbin/nologin varnish
tar -xf varnish-3.0.6.tar.gz
cd varnish-3.0.6
# configure,make,make install
./configure --prefix=/usr/local/varnish
make && make install
# , linux
# , linux , cp
# uuidgen
cp redhat/varnish.initrc /etc/init.d/varnish
cp redhat/varnish.sysconfig /etc/sysconfig/varnish
cp redhat/varnish_reload_vcl /usr/bin/
ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/
ln -s /usr/local/varnish/bin/* /usr/bin
mkdir /etc/varnish
cp /usr/local/varnish/etc/varnish/default.vcl /etc/varnish/
uuidgen >/etc/varnish/secret
7、統計/var/logはどれだけのファイルがあって、そしてこれらのファイル名を表示します
#!/bin/bash
# /var/log ,
# ls , , 1
cd /var/log
sum=0
for i in `ls -r *`
do
if [ -f $i ];then
let sum++
echo " :$i"
fi
done
echo " :$sum"
8ファイル内のすべての小文字を大文字に変換
#!/bin/bash
#
#$1 ,
# , ,
tr "[a-z]" "[A-Z]" < $1
9,コマンドライン送信メール
#!/bin/bash
#
echo " " |mailx -s Warning [email protected]
10,リモート実行サーバコマンドスクリプト
#!/bin/bash
#by lijunmin 2017124
#
if [ ! -f ip.txt ];then
echo -e "\033[32mPlease create ip.txt.The ip.txt contents as follows:\033[0m"
cat <>ip.txt.swp
IP=`awk -v I="$i" '{if(I==$1)print $2}' ip.txt.swp`
ssh -q -l root $IP "$*";echo -e "
The $IP exec command :$* success !"
sleep 2
#rsync -aP --delete $1 root@${IP}:$2
done