繁体   English   中英

函数中的变量-Linux Shell脚本

[英]variable within functions-Linux Shell Script

我遇到了一个简单的代码问题,我在其中调用一个函数,但是该函数的变量$ X似乎没有传递到外部,因为打印输出消息始终是“您的接口是”。 ...我想念什么吗?

#! /bin/bash
function choose
{
echo -e " Choose your interface:"
echo -e " 1) WLan0"
echo -e " 2) WLan0mon"
echo -e " Choose: "
read -e X
if [ "$X" = "1" ]
then
    X="wlan0"
elif [ "$X" = "2" ]
then
    X="wlan0mon"
fi
}


(choose)
echo -e "Your interface is $X."

使用括号运行(choose)可在子shell中执行它。

高级Bash脚本指南

子shell中的变量在子shell中的代码块之外不可见。 父进程,启动子Shell的Shell无法访问它们。 这些实际上是局部变量。

取出的括号choose将变量X看到您的echo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM