Linux-shell 变量参数
[[email protected] ~]# vickie=100
[[email protected] ~]# vickie03(){}
-bash: 未预期的符号 `{}' 附近有语法错误
[[email protected] ~]# vickie03(){
> echo $vickie
> vickie=222
> }
[[email protected] ~]# vickie
bash: vickie: 未找到命令...
[[email protected] ~]# vickie03
100
[[email protected] ~]# echo $vickie
222
[[email protected] ~]# vickie04(){
> local vickie=333
> }
[[email protected] ~]# echo vickie04
vickie04
[[email protected] ~]# vickie04(){
> local vickie1=333
> }
[[email protected] ~]# vickie04
[[email protected] ~]# echo $vickie1
[[email protected] ~]# vi sh01.sh
[[email protected] ~]# . sh01.sh 1 2 3 4 5 6 7 8 9 0 a b c
13
1 2 3 4 5 6 7 8 9 0 a b c
1 2 3 4 5 6 7 8 9 0 a b c
1
2
11
[[email protected] ~]# cat sh01.sh
echo $#
echo $*
echo [email protected]
echo $1
echo $2
echo $11
[[email protected] ~]# vi sh01.sh
[[email protected] ~]# . sh01.sh 1 2 3 4 5 6 7 8 9 0 a b c
13
1 2 3 4 5 6 7 8 9 0 a b c
1 2 3 4 5 6 7 8 9 0 a b c
1
2
a
[[email protected] ~]# vickie=vickie
[[email protected] ~]# echo $vickie
vickie
[[email protected] ~]# echo $vickiegood
[[email protected] ~]# echo ${vickie}good
vickiegood
[[email protected] ~]# ls -l /
总用量 28
lrwxrwxrwx. 1 root root 7 9月 27 02:39 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 11月 14 15:58 boot
drwxr-xr-x 20 root root 3320 11月 28 20:24 dev
drwxr-xr-x. 144 root root 8192 12月 3 08:20 etc
drwxr-xr-x. 6 root root 63 11月 27 18:27 home
lrwxrwxrwx. 1 root root 7 9月 27 02:39 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 9月 27 02:39 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 media
drwxr-xr-x. 2 root root 6 4月 11 2018 mnt
drwxr-xr-x. 4 root root 30 11月 28 18:45 opt
dr-xr-xr-x 213 root root 0 11月 27 11:43 proc
dr-xr-x---. 7 root root 4096 12月 3 09:23 root
drwxr-xr-x 41 root root 1240 12月 3 08:21 run
lrwxrwxrwx. 1 root root 8 9月 27 02:39 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 4月 11 2018 srv
dr-xr-xr-x 13 root root 0 11月 27 18:57 sys
drwxrwxrwt. 18 root root 4096 12月 3 08:21 tmp
drwxr-xr-x. 14 root root 167 11月 28 19:35 usr
drwxr-xr-x. 22 root root 4096 11月 28 22:19 var
drwx------ 2 root sharevickie 24 11月 27 19:22 vickieshare
drwxr-xr-x 3 root root 15 11月 16 12:09 vik
[[email protected] ~]# echo $?
0
[[email protected] ~]# ls -l /god
ls: 无法访问/god: 没有那个文件或目录
[[email protected] ~]# echo $?
2
[[email protected] ~]# echo $$
16940
[[email protected] ~]# ls -l /etc | grep init
-rw-r--r--. 1 root root 265 10月 30 2018 gdbinit
drwxr-xr-x. 2 root root 6 10月 30 2018 gdbinit.d
lrwxrwxrwx. 1 root root 11 9月 27 02:39 init.d -> rc.d/init.d
-rw-r--r--. 1 root root 511 10月 31 2018 inittab
[[email protected] ~]# vickie=100
[[email protected] ~]# echo $vickie
100
[[email protected] ~]# vickie=200 | echo ok
ok
[[email protected] ~]# echo $vickie
100
[[email protected] ~]# echo $$
16940
[[email protected] ~]# echo $$ | cat
16940
[[email protected] ~]# echo $bashpid
[[email protected] ~]# echo $BASSHPID
[[email protected] ~]# echo $BASHPID
16940
[[email protected] ~]# echo $BASHPID | cat
3141
[[email protected] ~]# vi sh02.sh
[[email protected] ~]# cat sh02.sh
echo "hello"
echo $vickie
[[email protected] ~]# source sh02.sh
hello
100
[[email protected] ~]# bash sh02.sh
hello
[[email protected] ~]# export vickie
[[email protected] ~]# bash sh02.sh
hello
100
[[email protected] ~]# vi sh03.sh
[[email protected] ~]# cat sh03.sh
echo "-----------"
echo $vickie
vickie=22222
echo "------------------"
echo $vickie
sleep 20
echo $vickie
[[email protected] ~]# echo $vickie
100
[[email protected] ~]# bash sh03.sh &
[1] 19228
[[email protected] ~]# -----------
100
------------------
22222
22222
^C
[1]+ 完成 bash sh03.sh
[[email protected] ~]# echo $vickie
100
[[email protected] ~]# bash sh03.sh &
[1] 20186
[[email protected] ~]# -----------
100
------------------
22222
[[email protected] ~]# echo $vickie
100
[[email protected] ~]# 22222
[1]+ 完成 bash sh03.sh
[[email protected] ~]# echo $vickie
100
[[email protected] ~]# bash sh03.sh &
[1] 22081
[[email protected] ~]# -----------
100
------------------
22222
[[email protected] ~]# echo $vickie
100
[[email protected] ~]# vickie=33322222
[1]+ 完成 bash sh03.sh
[[email protected] ~]# echo $vickie
333