Bash字符串变量不会传递值

时间:2015-06-02 22:26:21

标签: bash

如果删除了最后一个管道,似乎该值将通过,并且在连接不再处于活动状态之前一切正常。然后该值变为空或null,并且仍然存在双引号。 sed命令可以删除它,但管道不会让值传递。我被卡住了。

iwgetid wlan0 | grep 'ESSID:' | cut -c 18-24 | wtf=$(echo "$1"  

[[ -z "$1" ]] && echo -e "Wi-Fi Not Connected!" || echo -e "Connected"

1 个答案:

答案 0 :(得分:1)

管道右侧的任何内容都在子shell中运行,这意味着在那里完成的任务在shell中的任何其他位置都不可见。

此外,您从$1获取wtf的地方还不清楚 - 来自wtf=$(iwgetid wlan0 | grep 'ESSID:' | cut -c 18-24 | sed -e 's/^"//' -e 's/"$//') [[ -z "$wtf" ]] && echo -e "Wi-Fi Not Connected!" || echo -e "Connected" [[ ! -z "$wtf" ]] && echo -e "Connected" || echo -e "Wi-Fi Not Connected!" 的值不会通过您正在执行的操作进入位置参数。修复:

<input type="checkbox" id="ckbxEmp" >czech Bachs
<input type="text" id="txtbxSSNOrITIN">

......说 - 这是非常糟糕的代码。读者,请不要将我引用OP的地方视为同意。 :)