1. 程式人生 > 其它 >Shell指令碼相關

Shell指令碼相關

  1. 新增內容到文件
#1.全替代內容——多行到指定路徑:
cat << EOF > /etc/motd
###################################
#  APPSYSTEM: 系統的名字是啥
#   SYSTEM-A: 系統管理員A角
#   SYSTEM-B: 系統管理員B角
# DESCRIPTION: 這臺機器幹啥的
###################################
EOF

#2.追加內容——多行到指定路徑:
cat << EOF >> /etc/motd
3333
EOF

#3.在文件末尾新增欄位:sed -i '$a
sed -i '$aPasswordAuthentication	yes' /etc/ssh/sshd_config

#4.在文件末尾新增欄位:
echo "10.5.15.10	ntpserver" >> /etc/hosts

#5.在第4行插入欄位:sed -i '4i
sed -i '4i\password  4444' /etc/pam.d/system-auth

#6.查詢所在行,並替換所在行內容
{
result=$(cat /etc/profile | grep TMOUT | awk -F[=] '{print $2}')
if [ "$result" ];then
	LIN_NUM=$(sed -n '/TMOUT/=' /etc/profile)
	sed -i "$LIN_NUM"'c export TMOUT=600' /etc/profile
}

#7.多行替換
#替換“tmout=”後門20位數字為800(非數字、大於位的數字不替換)
sed -i 's/tmout=[0-9]\{1,20\}/tmout=800/g' /etc/aa
#替換“tmout=”後面為數字的為900(非數字不替換)
sed -i 's/tmout=[0-9]\+/tmout=900/g' etc/aa
#替換“tmout=”後面為任意值為32
sed -i 's/tmout=.\+/tmout=32/g' etc/aa

#.備份檔案時添加當前時間

mv /etc/ntp.conf /etc/ntp.conf.bl.`date +%Y%m%d%H%M%S`