File: save-to-pam-env

package info (click to toggle)
accountsservice 0.6.45-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 4,340 kB
  • sloc: ansic: 8,509; sh: 4,352; xml: 2,545; makefile: 300; perl: 42
file content (36 lines) | stat: -rw-r--r-- 832 bytes parent folder | download | duplicates (3)
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
31
32
33
34
35
36
#!/bin/sh -e
#
# updates the ~/.pam_environment config file

homedir=$1
locale_name=$2
language_list=$3

[ -n "$homedir" -a -n "$locale_name" ] || exit 1

# create ~/.pam_environment if it doesn't exist
touch "$homedir/.pam_environment" || exit 1

save_to_pam_env() {
    var=$1; value=$2
    if [ "$( grep "^$var=" .pam_environment )" ]; then
        sed -r -i "s/^($var=).*/\1$value/" .pam_environment
    else
        echo "$var=$value" >> .pam_environment
    fi
}

cd "$homedir"
if [ -n "$language_list" ]; then
    save_to_pam_env 'LANGUAGE' $language_list
    save_to_pam_env 'LANG' $locale_name
else
    for var in 'LC_NUMERIC' 'LC_TIME' 'LC_MONETARY' 'LC_PAPER' 'LC_NAME' \
               'LC_ADDRESS' 'LC_TELEPHONE' 'LC_MEASUREMENT'; do
        save_to_pam_env $var $locale_name
    done
    echo $locale_name
fi

exit 0