忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   

【Shell Script】nmcli設定

▼▲▼【使い方】▼▲▼
 以下のように引数を付けてスクリプトを実行する
 change_ip_script.sh arg.txt

▼▲▼引数「arg.txt」の記述例▼▲▼
ens192,192.168.0.zzz/24,192.168.0.xxx,192.168.0.www
ens224,192.168.0.vvv/24,,
▼▲▼スクリプト「change_ip_script.sh」の内容▼▲▼
#!/bin/sh
#=============================
# | ■ 引数$1のテキストファイルの記述例
# | ens192,192.168.0.zzz/24,192.168.0.xxx,192.168.0.www
#=============================
# |  ■ 配列の設定値の例
# | 【配列0】ARRmnt[0]=<インタフェース名>
# | 【配列1】ARRmnt[1]=<IPアドレス/プレフィックス値>
# | 【配列2】ARRmnt[2]=<ゲートウェイ>
# | 【配列3】ARRmnt[3]=<DNSのアドレス>
#=============================
# 環境変数IFSで区切って配列変数に格納する
#-----------------------------
IFS=,
while read -a ARRmnt
  #-----------------------------
  # ■ 全行の内容表示
  # do echo ${ARRmnt[@]}
  #-----------------------------
  # ■ 変数に配列の値を格納
  IFNAME=ARRmnt[0]
  IPADDR=ARRmnt[1]
  IP_GW=ARRmnt[2]
  IP_DNS=ARRmnt[3]
  #-----------------------------
  # ■ 変更前の設定をファイル出力
  nmcli d show ${IFNAME} > /tmp/nmcli_device_show_${IFNAME}_1.txt
  #-----------------------------
  # ■ 設定変更(IPアドレス)
  if [ -n "${IPADDR}" ]; then
  nmcli c modify ${IFNAME} ipv4.method manual ipv4.address ${IPADDR}
  fi
  #-----------------------------
  # ■ 設定変更(GWアドレス)
  if [ -n "${IP_GW}" ]; then
    nmcli c modify ${IFNAME} ipv4.gateway ${IP_GW} ipv4.never-default no
  fi
  #-----------------------------
  # ■ 設定変更(DNS)
  if [ -n "${IP_DNS}" ]; then
    nmcli c modify ${IFNAME} ipv4.dns ${IP_DNS}
  fi
  #-----------------------------
  # ■ 設定反映
  nmcli c up ${IFNAME}
  #-----------------------------
  # ■ 変更後の設定をファイル出力
  nmcli d show ${IFNAME} > /tmp/nmcli_device_show_${IFNAME}_2.txt
  #-----------------------------
  # ■ 差分確認(修正箇所)
  diff /tmp/nmcli_device_show_${IFNAME}_[12].txt
#-----------------------------
# ■ 引数$1を読み込ませて必要行数分だけ実行を繰り返す
done < $1
PR

更新日付

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

<<【Linux】文字/改行  | HOME |  【Linux】sedコマンド>>
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]