GNU/Linux >> Belajar Linux >  >> Linux

Cara memeriksa apakah grup ada dan menambahkan jika tidak ada di Linux Shell Script

grep pernyataan dalam solusi rups memiliki beberapa kekurangan:

Misalnya. grepping untuk grup admin dapat mengembalikan true ("grup ada") bila ada grup lpadmin .

Perbaiki grep -permintaan

grep -q -E "^admin:" /etc/group

atau gunakan

if [ $(getent group admin) ]; then
  echo "group exists."
else
  echo "group does not exist."
fi

Skrip ini dapat membantu Anda:

   read -p "enter group name: " group
   if grep -q $group /etc/group
    then
         echo "group exists"
    else
         echo "group does not exist"
    fi

Grepping /etc/group berfungsi, tetapi hanya pada mesin di mana /etc/nsswitch.conf memiliki:

group: files

artinya hanya /etc/group yang dikonsultasikan saat menentukan grup yang tersedia. Gunakan:

getent group <groupname>

untuk solusi yang lebih umum, periksa status keluar:0 berarti "ada", bukan nol berarti "tidak ada". Misalnya, untuk memeriksa apakah grup 'postgres' ada, dan buat jika tidak ada (dengan asumsi bash shell, dijalankan saat pengguna dapat membuat grup baru) jalankan:

/usr/bin/getent group postgres 2>&1 > /dev/null || /usr/sbin/groupadd postgres

Linux
  1. Cara Menambah atau Menghapus Pengguna dari Grup di Linux

  2. Bagaimana cara menambahkan pengguna ke grup di Linux

  3. Cara menambahkan pengguna ke Linux melalui skrip shell

  1. Cara mendefinisikan dan menggunakan fungsi di Linux Shell Script

  2. Bagaimana Membandingkan Angka dan String di Linux Shell Script

  3. Tambahkan Pengguna ke Grup di Linux, Bagaimana Melakukannya (Dengan Contoh)

  1. Bagaimana cara menambahkan pengguna ke grup di Linux

  2. Cara Menambahkan Pengguna ke Grup di Linux

  3. Cara memeriksa Versi OS dan Linux