/l3/users/27-3-2017/NT-Ladm/debian2.net.nt/root :1 :2 :3 :4 :5 :6 :7 |
|
#./shell.sh
Changing shell for user user: Changing shell for user ivan: Changing shell for user petr: |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/ Last login Tue Mar 28 12:01 (EEST) on pts/2 from 192.168.16.191 No mail. No Plan. |
#./shell.sh bash
Changing shell for user user: Changing shell for user ivan: Changing shell for user petr: |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/bash Last login Tue Mar 28 12:01 (EEST) on pts/2 from 192.168.16.191 No mail. No Plan. |
#vi shell.sh
![]() --- /tmp/l3-saved-10765.23289.19043 2017-03-29 14:41:56.239481175 +0300 +++ shell.sh 2017-03-29 14:42:23.883479683 +0300 @@ -3,7 +3,7 @@ users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd | tr "\n" " " ` for user in $users do - echo "Changing shell for user $user:" + echo "Changing shell for user $user..." usermod -s /bin/$1 $user done |
#vi shell.sh
![]() --- /tmp/l3-saved-10765.25788.9779 2017-03-29 14:43:35.751473034 +0300 +++ shell.sh 2017-03-29 14:45:00.411486004 +0300 @@ -4,6 +4,6 @@ for user in $users do echo "Changing shell for user $user..." - usermod -s /bin/$1 $user + usermod -s /bin/${1:-bash} $user done |
#./shell.sh sh
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... |
#./shell.sh
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... |
#fin
![]() find find2perl findfs findmnt finger |
#fin
![]() find find2perl findfs findmnt finger |
#finger shell.sh
finger: shell.sh: no such user. |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/bash Last login Tue Mar 28 12:01 (EEST) on pts/2 from 192.168.16.191 No mail. No Plan. |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/bash Last login Tue Mar 28 12:01 (EEST) on pts/2 from 192.168.16.191 No mail. No Plan. |
#vi shell.sh
![]() --- /tmp/l3-saved-10765.2404.8068 2017-03-29 14:48:06.291462879 +0300 +++ shell.sh 2017-03-29 14:50:41.719456336 +0300 @@ -1,5 +1,6 @@ #!/bin/bash +if users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd | tr "\n" " " ` for user in $users do |
#test 5 -eq 5
|
#echo $?
0 |
#test 5 -eq 6
![]() |
#echo $?
1 |
#[ 5 -eq 5 ]
|
#echo $?
0 |
#vi shell.sh
![]() --- /tmp/l3-saved-10765.9930.16574 2017-03-29 14:52:52.347506743 +0300 +++ shell.sh 2017-03-29 14:54:51.371522088 +0300 @@ -1,6 +1,9 @@ #!/bin/bash -if +if [ $# -gt 1 ] + rhen + exit 2 + fi users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd | tr "\n" " " ` for user in $users do |
#vi shell.sh
![]() |
#~
![]() ./shell.sh: line 6: syntax error near unexpected token `fi' ./shell.sh: line 6: ` fi' |
#vi shell.sh
![]() --- /tmp/l3-saved-10765.4453.23 2017-03-29 14:55:20.727474670 +0300 +++ shell.sh 2017-03-29 14:55:34.707481111 +0300 @@ -3,7 +3,7 @@ if [ $# -gt 1 ] rhen exit 2 - fi + fin users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd | tr "\n" " " ` for user in $users do |
#./shell.sh
![]() ./shell.sh: line 14: ошибка синтаксиса: неожиданный конец файла |
#vi shell.sh
![]() --- /tmp/l3-saved-10765.30057.21047 2017-03-29 14:55:47.223467120 +0300 +++ shell.sh 2017-03-29 14:56:00.259524941 +0300 @@ -1,9 +1,9 @@ #!/bin/bash if [ $# -gt 1 ] - rhen + then exit 2 - fin + fi users=`awk -F: '$3>=1000&&$3!=65534{print $1}' /etc/passwd | tr "\n" " " ` for user in $users do |
#./shell.sh
Changing shell for user user... usermod: изменения не внесены Changing shell for user ivan... usermod: изменения не внесены Changing shell for user petr... usermod: изменения не внесены |
#./shell.sh re
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... |
#vi shell.sh
![]() |
#~
[2]+ Stopped /usr/bin/vi "$@" |
#rm .
![]() rm: невозможно удалить «.»: Это каталог |
#%1
![]() l3script: fg: %1: не такой задачи |
#jo
![]() jobs join |
#jo
![]() jobs join |
#jo
![]() jobs join |
#jobs
[2]+ Stopped /usr/bin/vi "$@" |
#%1
![]() l3script: fg: %1: не такой задачи |
#cd
|
#cd /s
![]() sbin/ selinux/ srv/ sys/ |
#cd ./scripts/
|
#vi proc.sh
![]() --- /dev/null 2017-03-24 16:46:29.432000001 +0200 +++ proc.sh 2017-03-29 15:44:51.355466535 +0300 @@ -0,0 +1,10 @@ +#!/bin/bash + +i=1 + +while [ $1 -lt 1000000 ] + do + echo $i > /dev/ `who | awk '$1~/ivan/{print $2}'` + clear > /dev/ `who | awk '$1~/ivan/{print $2}'` + i=$[$1=1] + done |
#chmod u+x proc.sh
|
#fin
![]() find find2perl findfs findmnt finger |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/re Last login Tue Mar 28 12:01 (EEST) on pts/2 from 192.168.16.191 No mail. No Plan. |
#add
![]() addgroup addpart addr2line add-shell adduser |
#./
![]() proc.sh shell.sh |
#./
![]() proc.sh shell.sh |
#./
![]() proc.sh shell.sh |
#./
![]() proc.sh shell.sh |
#./
![]() proc.sh shell.sh |
#./shell.sh bash
Changing shell for user user... Changing shell for user ivan... Changing shell for user petr... |
#finger ivan
Login: ivan Name: Directory: /home/ivan Shell: /bin/bash Last login Tue Mar 28 12:01 (EEST) on pts/2 from 192.168.16.191 No mail. No Plan. |
#./proc.sh
./proc.sh: line 5: [: -lt: ожидается использование унарного оператора |
#./proc.sh
./proc.sh: line 5: [: -lt: ожидается использование унарного оператора |
#vi proc.sh
![]() --- /tmp/l3-saved-10765.6994.24094 2017-03-29 15:47:20.871483251 +0300 +++ proc.sh 2017-03-29 15:47:50.899477393 +0300 @@ -2,7 +2,7 @@ i=1 -while [ $1 -lt 1000000 ] +while [ $i -lt 1000000 ] do echo $i > /dev/ `who | awk '$1~/ivan/{print $2}'` clear > /dev/ `who | awk '$1~/ivan/{print $2}'` |
#./proc.sh
![]() ./proc.sh: line 7: /dev/: Это каталог ./proc.sh: line 8: /dev/: Это каталог ./proc.sh: line 9: =1: ошибка синтаксиса: ожидается операнд (error token is "=1") |
#vi proc.sh
![]() --- /tmp/l3-saved-10765.2344.11475 2017-03-29 15:47:58.839480670 +0300 +++ proc.sh 2017-03-29 15:48:15.571481106 +0300 @@ -4,7 +4,7 @@ while [ $i -lt 1000000 ] do - echo $i > /dev/ `who | awk '$1~/ivan/{print $2}'` - clear > /dev/ `who | awk '$1~/ivan/{print $2}'` + echo $i > /dev/`who | awk '$1~/ivan/{print $2}'` + clear > /dev/`who | awk '$1~/ivan/{print $2}'` i=$[$1=1] done |
#vi proc.sh
![]() |
#~
![]() ./proc.sh: line 9: =1: ошибка синтаксиса: ожидается операнд (error token is "=1") |
#./proc.sh
![]() ./proc.sh: line 9: =1: ошибка синтаксиса: ожидается операнд (error token is "=1") |
#^C
![]() |
#vi proc.sh
![]() --- /tmp/l3-saved-10765.19013.7512 2017-03-29 15:48:50.375481099 +0300 +++ proc.sh 2017-03-29 15:49:21.779476352 +0300 @@ -6,5 +6,5 @@ do echo $i > /dev/`who | awk '$1~/ivan/{print $2}'` clear > /dev/`who | awk '$1~/ivan/{print $2}'` - i=$[$1=1] + i=$[$i+1] done |
#./proc.sh
![]() ^C |
#cp no_file_with_this_name /tmp
![]() cp: не удалось выполнить stat для «no_file_with_this_name»: Нет такого файла или каталога |
#echo $?
1 |
#touch no_file_whith_this_name
|
#echo
![]() no_file_whith_this_name proc.sh no_file_with_this_name shell.sh |
#echo
no_file_whith_this_name proc.sh no_file_with_this_name shell.sh |
#test 5 -gt 1
|
#echo $?
0 |
#test 5 -lt 1
![]() |
#echo $?
1 |
#help
![]() help helpztags |
#test -z "$STRING"
|
#help test
test: test [expr] Evaluate conditional expression. Exits with a status of 0 (true) or 1 (false) depending on the evaluation of EXPR. Expressions may be unary or binary. Unary expressions are often used to examine the status of a file. There are string operators and numeric comparison operators as well. The behavior of test depends on the number of arguments. Read the bash manual page for the complete specification. File operators: -a FILE True if file exists. ... arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne, -lt, -le, -gt, or -ge. Arithmetic binary operators return true if ARG1 is equal, not-equal, less-than, less-than-or-equal, greater-than, or greater-than-or-equal than ARG2. See the bash manual page bash(1) for the handling of parameters (i.e. missing parameters). Exit Status: Returns success if EXPR evaluates to true; fails if EXPR evaluates to false or an invalid argument is given. |
#test "$P" !=print
![]() l3script: test: : ожидается использование унарного оператора |
#test "$P" != print
|
#echo $?
0 |
#test -e /etc/m
![]() magic mailcap mailname mime.types modprobe.d/ motd magic.mime mailcap.order manpath.config mke2fs.conf modules mtab |
#test -e /etc/mo
![]() modprobe.d/ modules motd |
#test -e /etc/motd
|
#echo $?
0 |
#test -d /usr//local/bin/
|
#echo $?
0 |
#test -r /etc/sh
![]() shadow shadow- shells |
#test -r /etc/shadow
|
#echo #?
|
#echo $?
0 |
#test -k /tmp/
|