break for, while until
continue for, while until
echo , ,
exit
export
hash , ,
kill
pwd
read .\
return
shift
test
times ,
trap ,
unset
wait .
#!/bin/bash
#!/bin/bash
# bash-
parametr1=$1 # parametr1
script_name=$0 # script_name
echo " $script_name $parametr1" # echo , $_.
echo ' $script_name $parametr1' # , , .
exit 0 # 0 ( )
ite@ite-desktop:~$ ./test.sh qwerty
./test.sh qwerty
$script_name $parametr1
$DIRSTACK -
$EDITOR -
$EUID - UID. su , UID , ...
$UID - ... , .
$FUNCNAME - .
$GROUPS -
$HOME -
$HOSTNAME - hostname
$HOSTTYPE - .
$LC_CTYPE - ,
$OLDPWD -
$OSTYPE -
$PATH -
$PPID -
$SECONDS - ( .)
$# -
$* - ( )
$@ - , ,
$! - PID
$$ - PID
, , , - . bash . ( ):
#!/bin/bash
source=$1 # source
dest=$2 # dest
if [[ "$source" -eq "$dest" ]] # . -eq - ""
then # ,
echo " $dest $source !" # , .. $source $dest
exit 1 # (1 - )
else #
cp $source $dest # cp:
echo " !"
fi # .
:
ite@ite-desktop:~$ ./primer2.sh 1 1
1 1 !
ite@ite-desktop:~$ ./primer2.sh 1 2
!
if-then-else :
if < (0 1)>
then
< if , >
else
< if , >
[[ , [ , test, (( )) ( ) linux-.
test - . , "]"
[ - test
[[ - "[" ( 2.02)( ), || (), & (). "]]"
(( )) - .
:
if ...
then ....
else
if ....
then....
else ....
, :
if ..
then ...
elif ...
then ...
elif ...
.
- , case.
#!/bin/bash
echo " :"
echo "1 nano"
echo "2 vi"
echo "3 emacs"
echo "4 "
read doing # $doing
case $doing in
1)
/usr/bin/nano # $doing 1, nano
;;
2)
/usr/bin/vi # $doing 2, vi
;;
3)
/usr/bin/emacs # $doing 3, emacs
;;
4)
exit 0
;;
*) # , case , :
echo " "
esac # case.
:
ite@ite-desktop:~$ ./menu2.sh
:
1 nano
2 vi
3 emacs
4
Enter , ( , :) )
, if-then-else-fi:
-z #
-n #
=, (==) #
!= #
-eq #
-ne #
-lt,(< ) #
-le,(<=) #
-gt,(>) #
-ge,(>=) #
! #
-a,(&&) # «»
-o,(||) # «»
, , ( 3). .
UPD:
UPD: if-then-else
unix-admin.su
$DIRSTACK -
$EDITOR -
$EUID - UID. su , UID , ...
$UID - ... , .
$FUNCNAME - .
$GROUPS -
$HOME -
$HOSTNAME - hostname
$HOSTTYPE - .
$LC_CTYPE - ,
$OLDPWD -
$OSTYPE -
$PATH -
$PPID -
$SECONDS - ( .)
$# -
$* - ( )
$@ - , ,
$! - PID
$$ - PID
, , , - . bash . ( ):
#!/bin/bash
source=$1 # source
dest=$2 # dest
if [[ "$source" -eq "$dest" ]] # . -eq - ""
then # ,
echo " $dest $source !" # , .. $source $dest
exit 1 # (1 - )
else #
cp $source $dest # cp:
echo " !"
fi # .
:
ite@ite-desktop:~$ ./primer2.sh 1 1
1 1 !
ite@ite-desktop:~$ ./primer2.sh 1 2
!
if-then-else :
if < (0 1)>
then
< if , >
else
< if , >
[[ , [ , test, (( )) ( ) linux-.
test - . , "]"
[ - test
[[ - "[" ( 2.02)( ), || (), & (). "]]"
(( )) - .
:
if ...
then ....
else
if ....
then....
else ....
, :
if ..
then ...
elif ...
then ...
elif ...
.
- , case.
#!/bin/bash
echo " :"
echo "1 nano"
echo "2 vi"
echo "3 emacs"
echo "4 "
read doing # $doing
case $doing in
1)
/usr/bin/nano # $doing 1, nano
;;
2)
/usr/bin/vi # $doing 2, vi
;;
3)
/usr/bin/emacs # $doing 3, emacs
;;
4)
exit 0
;;
*) # , case , :
echo " "
esac # case.
:
ite@ite-desktop:~$ ./menu2.sh
:
1 nano
2 vi
3 emacs
4
Enter , ( , :) )
, if-then-else-fi:
-z #
-n #
=, (==) #
!= #
-eq #
-ne #
-lt,(< ) #
-le,(<=) #
-gt,(>) #
-ge,(>=) #
! #
-a,(&&) # «»
-o,(||) # «»
, , ( 3). .
UPD:
UPD: if-then-else
unix-admin.su
$DIRSTACK -
$EDITOR -
$EUID - UID. su , UID , ...
$UID - ... , .
$FUNCNAME - .
$GROUPS -
$HOME -
$HOSTNAME - hostname
$HOSTTYPE - .
$LC_CTYPE - ,
$OLDPWD -
$OSTYPE -
$PATH -
$PPID -
$SECONDS - ( .)
$# -
$* - ( )
$@ - , ,
$! - PID
$$ - PID
, , , - . bash . ( ):
#!/bin/bash
source=$1 # source
dest=$2 # dest
if [[ "$source" -eq "$dest" ]] # . -eq - ""
then # ,
echo " $dest $source !" # , .. $source $dest
exit 1 # (1 - )
else #
cp $source $dest # cp:
echo " !"
fi # .
:
ite@ite-desktop:~$ ./primer2.sh 1 1
1 1 !
ite@ite-desktop:~$ ./primer2.sh 1 2
!
if-then-else :
if < (0 1)>
then
< if , >
else
< if , >
[[ , [ , test, (( )) ( ) linux-.
test - . , "]"
[ - test
[[ - "[" ( 2.02)( ), || (), & (). "]]"
(( )) - .
:
if ...
then ....
else
if ....
then....
else ....
, :
if ..
then ...
elif ...
then ...
elif ...
.
- , case.
#!/bin/bash
echo " :"
echo "1 nano"
echo "2 vi"
echo "3 emacs"
echo "4 "
read doing # $doing
case $doing in
1)
/usr/bin/nano # $doing 1, nano
;;
2)
/usr/bin/vi # $doing 2, vi
;;
3)
/usr/bin/emacs # $doing 3, emacs
;;
4)
exit 0
;;
*) # , case , :
echo " "
esac # case.
:
ite@ite-desktop:~$ ./menu2.sh
:
1 nano
2 vi
3 emacs
4
Enter , ( , :) )
, if-then-else-fi:
-z #
-n #
=, (==) #
!= #
-eq #
-ne #
-lt,(< ) #
-le,(<=) #
-gt,(>) #
-ge,(>=) #
! #
-a,(&&) # «»
-o,(||) # «»
, , ( 3). .
UPD:
UPD: if-then-else
unix-admin.su
$DIRSTACK -
$EDITOR -
$EUID - UID. su , UID , ...
$UID - ... , .
$FUNCNAME - .
$GROUPS -
$HOME -
$HOSTNAME - hostname
$HOSTTYPE - .
$LC_CTYPE - ,
$OLDPWD -
$OSTYPE -
$PATH -
$PPID -
$SECONDS - ( .)
$# -
$* - ( )
$@ - , ,
$! - PID
$$ - PID
, , , - . bash . ( ):
#!/bin/bash
source=$1 # source
dest=$2 # dest
if [[ "$source" -eq "$dest" ]] # . -eq - ""
then # ,
echo " $dest $source !" # , .. $source $dest
exit 1 # (1 - )
else #
cp $source $dest # cp:
echo " !"
fi # .
:
ite@ite-desktop:~$ ./primer2.sh 1 1
1 1 !
ite@ite-desktop:~$ ./primer2.sh 1 2
!
if-then-else :
if < (0 1)>
then
< if , >
else
< if , >
[[ , [ , test, (( )) ( ) linux-.
test - . , "]"
[ - test
[[ - "[" ( 2.02)( ), || (), & (). "]]"
(( )) - .
:
if ...
then ....
else
if ....
then....
else ....
, :
if ..
then ...
elif ...
then ...
elif ...
.
- , case.
#!/bin/bash
echo " :"
echo "1 nano"
echo "2 vi"
echo "3 emacs"
echo "4 "
read doing # $doing
case $doing in
1)
/usr/bin/nano # $doing 1, nano
;;
2)
/usr/bin/vi # $doing 2, vi
;;
3)
/usr/bin/emacs # $doing 3, emacs
;;
4)
exit 0
;;
*) # , case , :
echo " "
esac # case.
:
ite@ite-desktop:~$ ./menu2.sh
:
1 nano
2 vi
3 emacs
4
Enter , ( , :) )
, if-then-else-fi:
-z #
-n #
=, (==) #
!= #
-eq #
-ne #
-lt,(< ) #
-le,(<=) #
-gt,(>) #
-ge,(>=) #
! #
-a,(&&) # «»
-o,(||) # «»
, , ( 3). .
UPD:
UPD: if-then-else
unix-admin.su
$DIRSTACK -
$EDITOR -
$EUID - UID. su , UID , ...
$UID - ... , .
$FUNCNAME - .
$GROUPS -
$HOME -
$HOSTNAME - hostname
$HOSTTYPE - .
$LC_CTYPE - ,
$OLDPWD -
$OSTYPE -
$PATH -
$PPID -
$SECONDS - ( .)
$# -
$* - ( )
$@ - , ,
$! - PID
$$ - PID
, , , - . bash . ( ):
#!/bin/bash
source=$1 # source
dest=$2 # dest
if [[ "$source" -eq "$dest" ]] # . -eq - ""
then # ,
echo " $dest $source !" # , .. $source $dest
exit 1 # (1 - )
else #
cp $source $dest # cp:
echo " !"
fi # .
:
ite@ite-desktop:~$ ./primer2.sh 1 1
1 1 !
ite@ite-desktop:~$ ./primer2.sh 1 2
!
if-then-else :
if < (0 1)>
then
< if , >
else
< if , >
[[ , [ , test, (( )) ( ) linux-.
test - . , "]"
[ - test
[[ - "[" ( 2.02)( ), || (), & (). "]]"
(( )) - .
:
if ...
then ....
else
if ....
then....
else ....
, :
if ..
then ...
elif ...
then ...
elif ...
.
- , case.
#!/bin/bash
echo " :"
echo "1 nano"
echo "2 vi"
echo "3 emacs"
echo "4 "
read doing # $doing
case $doing in
1)
/usr/bin/nano # $doing 1, nano
;;
2)
/usr/bin/vi # $doing 2, vi
;;
3)
/usr/bin/emacs # $doing 3, emacs
;;
4)
exit 0
;;
*) # , case , :
echo " "
esac # case.
:
ite@ite-desktop:~$ ./menu2.sh
:
1 nano
2 vi
3 emacs
4
Enter , ( , :) )
, if-then-else-fi:
-z #
-n #
=, (==) #
!= #
-eq #
-ne #
-lt,(< ) #
-le,(<=) #
-gt,(>) #
-ge,(>=) #
! #
-a,(&&) # «»
-o,(||) # «»
, , ( 3). .
UPD:
UPD: if-then-else
unix-admin.su
Source: https://habr.com/ru/post/47163/