将来自用户输入的局部变量存储在bash中?

时间:2019-07-03 19:05:34

标签: bash

通过read命令获取用户输入并存储在变量中时。例如:

get_username() {
  read -p "Enter your username: " username
}

another_function() {
  echo $username
}

get_username; another_function;

$username变量现在在整个脚本中全局可用。有没有一种方法可以限制从用户输入中存储的变量的范围,或者在不再需要它时将其删除?

2 个答案:

答案 0 :(得分:1)

除非明确声明是局部变量,否则变量是全局变量。

get_username () {
  local username
  read -p "Enter your username: " username
}

答案 1 :(得分:1)

您可以使用unset取消设置变量或使用local限制可见性

get_username() {
  read -p "Enter your username: " username
}

another_function() {
  echo $username
  unset username

}

get_username; another_function; another_function;