User Tools

Site Tools


program_lang:bash

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
program_lang:bash [2023/11/24 18:09]
manu
program_lang:bash [2024/04/17 16:06] (current)
manu
Line 119: Line 119:
   arr=( $(ls) ) Save ls output as an array of files   arr=( $(ls) ) Save ls output as an array of files
   ${arr[@]:​s:​n} Retrieve n elements starting at index s   ${arr[@]:​s:​n} Retrieve n elements starting at index s
 +
 +Exemple
 +<cli prompt='#'>​
 +#​!/​usr/​bin/​bash
 +declare -a Users=('​user01'​ '​1001'​ '​1000'​ ''​ ''​ '/​bin/​bash'​)
 +Users+=('​user02'​ '​1002'​ '​1003'​ ''​ ''​ '/​bin/​bash'​)
 +Users+=('​user03'​ '​1003'​ '​4'​ '​Recovery user' ''​ '/​bin/​bash'​)
 +
 +UserNbProps=6
 +let NbUsers=${#​Users[@]}/​$UserNbProps
 +
 +for (( i=0; i<​$NbUsers;​ i++ ))
 +do
 +  let ArrayIndex=i*UserNbProps
 +  Line=$(cat /etc/passwd | grep "​^${Users[$ArrayIndex]}:"​)
 +  if [ -z "​$Line"​ ]
 +  then
 +    echo "# ${Users[$ArrayIndex]} user was not found"
 +  else
 +    Uid=$(echo $Line | cut -d: -f3)
 +    Gid=$(echo $Line | cut -d: -f4)
 +    UidRef=${Users[$ArrayIndex+1]}
 +    GidRef=${Users[$ArrayIndex+2]}
 +    if [ $Uid != $UidRef -o $Gid != $GidRef ]
 +    then
 +      echo "# User: ${Users[$ArrayIndex]} uid:$Uid gid:$Gid does not match reference uid:$UidRef gid:​$GidRef"​
 +    fi
 +  fi
 +done
 +</​cli>​
   ​   ​
 ===== Read files ===== ===== Read files =====
program_lang/bash.1700845770.txt.gz · Last modified: 2023/11/24 18:09 by manu