Bash:读入多个局部范围变量
根据这一回答: 我可以读入,因此可以分配多个变量 但是,我希望这些变量是bash函数的局部变量,这样它就不会污染全局范围 有没有一种方法可以做到:Bash:读入多个局部范围变量,bash,Bash,根据这一回答: 我可以读入,因此可以分配多个变量 但是,我希望这些变量是bash函数的局部变量,这样它就不会污染全局范围 有没有一种方法可以做到: func () { local read a b <<< $(echo 123 435) echo $a } func echo $a func(){ local read a b您几乎做到了:您只需将变量定义为local,但必须事先,而不是在read声明中: func () { local a b
func () {
local read a b <<< $(echo 123 435)
echo $a
}
func
echo $a
func(){
local read a b您几乎做到了:您只需将变量定义为local
,但必须事先,而不是在read
声明中:
func () {
local a b
read a b <<< $(echo 123 435)
echo $a
}
只需在一行上将变量声明为局部变量,并在另一行中使用它们:
$ a=5
$ func() {
local a b
read a b <<< "foo bar"
echo $a
}
$ func
foo
$ echo $a
5
$a=5
$func(){
本地甲乙
读a b
$ a=5
$ func() {
local a b
read a b <<< "foo bar"
echo $a
}
$ func
foo
$ echo $a
5