Shell 實現系統初始化 修改IP

2021-08-09 17:07:35 字數 2545 閱讀 8220

p是prompt的縮寫,即由這個開百關項給出提示資訊,例如:read -p "please input you choice:" input 回車度後螢幕會顯示:問

please input you choice: 那麼之後你輸入的東西就答會被儲存到input變數中了

[root@www ~]# read -p "please input you choice:" input

please input you choice:yes

[root@www ~]# echo $input

yes

在cp指令前面加反斜槓可以不彈出是否覆蓋的詢問而直接覆蓋!

[root@www ~]# cp a.txt /tmp/

cp: overwrite 『/tmp/a.txt』? yes

[root@www ~]# \cp a.txt /tmp/

[root@www ~]# echo $?

0

此指令碼用於新裝linux的相關配置工作,比如更換預設yum源,優化系統核心、停掉一些沒必要啟動的系統服務等。此指令碼尤其適合大批新安裝的centos系列的伺服器。適用於centos7 

shell>vim cenots_7_system_init.sh

#!/bin/bash

# filename: centos7-init.sh

# author: test

#判斷是否為root使用者

if [ `whoami` != "root" ];then

echo " only root can run it"

exit 1

fi#執行前提示

echo -e "\033[31m 這是centos7系統初始化指令碼,將更新系統核心至最新版本,請慎重執行!\033[0m"

read -s -n1 -p "press any key to continue or ctrl+c to cancel"

echo "your inputs: $reply"

#1.定義配置yum源的函式

yum_config()

#2.定義配置ntp的函式

ntp_config()

#3.定義關閉防火牆的函式

close_firewalld()

#4.定義關閉selinux的函式

close_selinux()

#5.定義安裝常用工具的函式

yum_tools()

#6.定義公升級最新核心的函式

update_kernel ()

#執行指令碼

main()

main

[root@www ~]# cat auto_change_ip.sh 

#!/bin/bash

eth_ip="$1"

eth_mask="255.255.255.0"

eth_gateway="192.168.179.2"

eth_name="ens33"

eth_dns1="114.114.114.114"

eth_dns2="8.8.8.8"

eth_dir="/etc/sysconfig/network-scripts"

eth_bak="/data/backup/`date +%f`"

function change_ip()

if [ $# -eq 0 ];then

echo -e "\033[32m----------------\033[0m"

echo -e "\033[32musage:\033[0m}"

exit

figrep "dhcp" $eth_dir/ifcfg-$eth_name

if [ $? -eq 0 ];then

mkdir -p $eth_bak

\cp $eth_dir/ifcfg-$eth_name $eth_bak

ls -l $eth_bak

change_ip

else

read -p "the static ipaddr already exit!!ensure change another static ip?" input

if [ $input=="yes" -o $input=="y" -o $input="y" ];then

mkdir -p $eth_bak

\cp $eth_dir/ifcfg-$eth_name $eth_bak

ls -l $eth_bak

change_ip

else

exit

fifi

read -p "the server ip change succeded,do you want to restart network?" input

if [ $input=="yes" -o $input=="y" -o $input=="y" ];then

systemctl restart network.service

fi

Centos系統初始化和shell簡單命令

主機重新命名 hostnamectl set hostname server1 bash 重新整理可檢視更改後的主機名 1.設定ip位址 wq儲存最後設定 按i 進入插入模式 bootproto static ipaddr 20.0.0.10 netmask 255.255.255.0 gatewa...

Linux學習 shell初始化檔案

正在學習linux,記錄一下學習歷程。初始化檔案分為三種 以bash為例 登入檔案 bash profile,bash login 環境檔案 bashrc 登出檔案 bash logout 有些shell不支援 以乙個點號開頭的檔案稱為隱藏檔案,當使用ls a選項時才會被列舉。一旦以自己需要的方式設...

shell 建立終端的初始化

每次啟動乙個新shell時,bash shell都會執行.bashrc檔案。可以這樣來驗證 在主目錄下 的.bashrc檔案中加入一條簡單的echo語句,然後啟動乙個新shell。不是所有 的發行版中都包含這些啟動檔案。基本上,依照下列順序所找到的第乙個檔案會被執行,其餘的 檔案會被忽略 home ...