如何读取键盘输入并将其分配给局部变量?

如何读取键盘输入并将其分配给局部变量?

我有这个非常简单的脚本:

#!/bin/bash

read local _test
echo "_test: $_test"

这是输出。

$ ./jltest.sh
sdfsdfs
_test: 

我希望该变量_test只是本地变量。这可能吗?

答案1

本地内置函数仅在函数内部起作用。除非您明确指出,否则您在脚本中设置的任何变量都已经是脚本的“本地”变量export。因此,如果删除它,它将按预期工作:

#!/bin/bash

read _test
echo "_test: $_test"

或者你可以把它变成一个函数:

my_read () {
  local _test
  read _test
  echo "_test: $_test"
}

即使在函数内部,local内置函数也不会按照您编写的方式工作:


您的代码实际上是设置一个字面名称为的变量local

#!/bin/bash

read local _test
echo "_test: $_test"
echo "local: $local"

$ ./script.sh
sssss aaaaa
_test: aaaaa
local: sssss

相关内容