私の/etc/passwd
ファイルが次のような配列であることを望みます。
[ユーザーID] => [ホームディレクトリ]
例えば
[0] => "/root"
[1000] => "/home/user1"
[1001] => "/home/user2"
その後、user_idが999(一般ユーザーを意味)より大きい場合は、.htaccess file
そのディレクトリにsum値があるかどうかを確認する条件を設定できます。memory_limit
display_errors
上記の結果を達成するために、次のコマンドを実行しました。
cat /etc/passwd | awk -F':' '{print $4,$6}'
それはすべてを示しています
user_id home_directory
しかし、前述の配列にどのように入れるのかわかりません。
一部のユーザーには/etc/passwd
ホームディレクトリがないため、配列キーに無効な値が表示されます。
助けてください。
よろしくお願いします。
ベストアンサー1
シェル配列を使用できます
# Associative array p
declare -A p=()
# Populate the array (x is a placeholder that we otherwise ignore)
while IFS=: read -r x x uid x x home x
do
p[$uid]=$home
done </etc/passwd
# Demonstrate the data
for uid in "${!p[@]}"
do
printf "[%s]\t=> \"%s\"\n" "$uid" "${p[$uid]}"
done
出力例
[1000] => "/home/pi"
[0] => "/root"
[1] => "/usr/sbin"
[33] => "/var/www"