#!/bin/bash
echo "Subshell level = $BASH_SUBSHELL"
outer_variable=Outer
outer_variable2=Outer2
(
echo "Subshell level INSIDE subshell = $BASH_SUBSHELL"
inner_variable=Inner
outer_variable2=Outer_var_changein_subshell
echo "From Subshell,\"inner_variable\"=$inner_variable"
echo "From parent shell,\"outer\"=$outer_variable"
echo "From parent shell, \"outer\"=$outer_variable2"
)
echo "In parent shell, check \"outer_variable\" value:$outer_variable"
echo "In parent shell, check \"outer_variable2\" value:$outer_variable2"
echo
echo "Subshell level OUTSIDE subshell = $BASH_SUBSHELL"
echo
if [ -z "$inner_variable" ]
then
echo "inner_variable undefined in main body of shell"
else
echo "From main body of shell,\"inner_variable\"=$inner_variable"
fi
exit 0
beyes@debian:~/shell$ ./subshell.sh
Subshell level = 0
Subshell level INSIDE subshell = 1
From Subshell,"inner_variable"=Inner
From parent shell,"outer"=Outer
From parent shell, "outer"=Outer_var_changein_subshell
In parent shell, check "outer_variable" value:Outer
In parent shell, check "outer_variable2" value:Outer2
Subshell level OUTSIDE subshell = 0
inner_variable undefined in main body of shell
beyes@debian:~/shell$ export exp8temp="hello world"
beyes@debian:~/shell$ echo $exp8temp
hello world
$ ./exp8.sh
hello world
#!/bin/bash
exp8temp="hello shell"
echo $exp8temp
beyes@debian:~/shell$ ./exp8.sh
hello shell
beyes@debian:~/shell$ echo $exp8temp
hello world
#!/bin/bash
export exp9temp="hello world"
sleep 30
exit 0
#!/bin/bash
(
subvar="hello shell"
echo "$subvar" > temp.txt
)
read pvar < temp.txt
echo $pvar
$ sh subandp.sh
hello shell
#!/bin/bash
pvar=`subvar="hello shell";echo $subvar`
echo $pvar
$ ./subandp.sh
hello shell
#!/bin/bash
mkfifo -m 777 npipe
(
subsend="hello world"
echo "$subsend" > npipe &
)
read pread < npipe
echo "$pread"
exit 0
beyes@debian:~/shell$ ./var.sh
hello world
#!/bin/bash
read pvar << HERE
`subvar="hello shell"
echo $subvar`
HERE
echo $pvar
$ ./subandp.sh
hello shell
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) | Powered by Discuz! X3.2 |