/l3/users/6-6-2017/NT-Ladm/debian1.net.nt/root :1 :2 :3 |
|
#vi test.sh
--- /tmp/l3-saved-9146.1997.18996 2017-06-08 11:12:28.936453830 +0300 +++ test.sh 2017-06-08 11:14:14.728433354 +0300 @@ -1,5 +1,5 @@ #!/bin/bash -users=$(awk -F: /etc/passwd '$3>999 && $3!=65534 {print$1}' | tr '\n' ' ') +users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shel $1 for user $u" |
#vi test.sh
|
#~
![]() l3script: ./test.sh.: Нет такого файла или каталога |
#./test.sh /bin/sh
Changing shel /bin/sh for user user Changing shel /bin/sh for user ivan Changing shel /bin/sh for user petr |
#vi test.sh
--- /tmp/l3-saved-9146.5962.1060 2017-06-08 11:15:08.620454565 +0300 +++ test.sh 2017-06-08 11:15:22.328474010 +0300 @@ -2,7 +2,7 @@ users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do - echo "Changing shel $1 for user $u" + echo "Changing shell $1 for user $u" usermod -s $1 $u done |
#./test.sh /bin/sh
Changing shell /bin/sh for user user usermod: изменения не внесены Changing shell /bin/sh for user ivan usermod: изменения не внесены Changing shell /bin/sh for user petr usermod: изменения не внесены |
#cat test.sh
#!/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $1 for user $u" usermod -s $1 $u done |
#cat /etc/passwd
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh man:x:6:12:man:/var/cache/man:/bin/sh lp:x:7:7:lp:/var/spool/lpd:/bin/sh mail:x:8:8:mail:/var/mail:/bin/sh news:x:9:9:news:/var/spool/news:/bin/sh ... list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh libuuid:x:100:101::/var/lib/libuuid:/bin/sh Debian-exim:x:101:103::/var/spool/exim4:/bin/false user:x:1000:1000:user,,,:/home/user:/bin/sh sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin ivan:x:1001:1001::/home/ivan:/bin/sh petr:x:1002:1002::/home/petr:/bin/sh |
#cat test.sh
#!/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $1 for user $u" usermod -s $1 $u done |
#./test.sh /bin/bash
Changing shell /bin/bash for user user Changing shell /bin/bash for user ivan Changing shell /bin/bash for user petr |
#cat test.sh
#!/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $1 for user $u" usermod -s $1 $u done |
#vi test.sh
--- /tmp/l3-saved-9146.29758.14127 2017-06-08 11:20:22.788459205 +0300 +++ test.sh 2017-06-08 11:24:29.488463922 +0300 @@ -1,4 +1,5 @@ #!/bin/bash +s=${1:-/bin/bash} users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do |
#vi test.sh
--- /tmp/l3-saved-9146.3024.4427 2017-06-08 11:24:53.936501879 +0300 +++ test.sh 2017-06-08 11:25:41.244416568 +0300 @@ -3,7 +3,7 @@ users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do - echo "Changing shell $1 for user $u" - usermod -s $1 $u + echo "Changing shell $s for user $u" + usermod -s $s $u done |
#./test.sh /bin/zsh
Changing shell /bin/zsh for user user Changing shell /bin/zsh for user ivan Changing shell /bin/zsh for user petr |
#./test.sh
Changing shell /bin/bash for user user Changing shell /bin/bash for user ivan Changing shell /bin/bash for user petr |
#cat test.sh
#!/bin/bash s=${1:-/bin/bash} users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $s for user $u" usermod -s $s $u done |
#vi test.sh
--- /tmp/l3-saved-9146.29685.29117 2017-06-08 11:27:30.464466048 +0300 +++ test.sh 2017-06-08 12:30:37.804454119 +0300 @@ -1,5 +1,12 @@ #!/bin/bash -s=${1:-/bin/bash} +shells=$(cat /etc/shells | sed '/^#/d' | tr '\n' ' ') +r=`echo $1` +for shell in $shells + do + test $1 = $shell 2> /dev/null && s=$1 + done +test -v r || s=/bin/bash +test -v s || s=/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do |
#./test.sh
Changing shell /bin/bash for user user usermod: изменения не внесены Changing shell /bin/bash for user ivan usermod: изменения не внесены Changing shell /bin/bash for user petr usermod: изменения не внесены |
#./test.sh zsh
Changing shell /bin/bash for user user usermod: изменения не внесены Changing shell /bin/bash for user ivan usermod: изменения не внесены Changing shell /bin/bash for user petr usermod: изменения не внесены |
#./test.sh /bin/sh
Changing shell /bin/sh for user user Changing shell /bin/sh for user ivan Changing shell /bin/sh for user petr |
#./test.sh /bin/h
Changing shell /bin/bash for user user Changing shell /bin/bash for user ivan Changing shell /bin/bash for user petr |
#./test.sh /bin/zsh
Changing shell /bin/zsh for user user Changing shell /bin/zsh for user ivan Changing shell /bin/zsh for user petr |
#./test.sh
Changing shell /bin/bash for user user Changing shell /bin/bash for user ivan Changing shell /bin/bash for user petr |
#cat test.sh
#!/bin/bash shells=$(cat /etc/shells | sed '/^#/d' | tr '\n' ' ') r=`echo $1` for shell in $shells do test $1 = $shell 2> /dev/null && s=$1 done test -v r || s=/bin/bash test -v s || s=/bin/bash users=$(awk -F: '$3>999 && $3!=65534 {print $1}' /etc/passwd | tr '\n' ' ') for u in $users do echo "Changing shell $s for user $u" usermod -s $s $u done |
#cp no_file_with_this_name /tmp
![]() cp: не удалось выполнить stat для «no_file_with_this_name»: Нет такого файла или каталога |
#echo $?
0 |
#cp no_file_with_this_name /tmp
cp: не удалось выполнить stat для «no_file_with_this_name»: Нет такого файла или каталога |
#touch no_file_with_this_name
|
#test 5 -gt 1
|
#echo $?
0 |
|