如何工作grep和awk命令?

时间:2015-11-01 02:27:35

标签: bash

我正在编写这个脚本,但它除了闪烁光标外什么也没做。

ifconfig wlan1 down && iwconfig wlan1 mode monitor; Essid=`airodump-ng wlan1  2>&1 | grep 38:EF:A5:8B:5D:85 | awk '{print $11}' ` echo $Essid

1 个答案:

答案 0 :(得分:1)

如果它全部写在问题所示的一行上,则echo运行时带有一个有趣的环境变量(Essid,设置为命令的结果),但它没有回应因为在评估参数列表时不设置环境变量。 (有关详细信息,请参阅Bash: Specifying environment variables for echo on the command line。)

如果你是理智的并且在多行上写下来,那么你就有机会:

ifconfig wlan1 down && iwconfig wlan1 mode monitor
Essid=$(airodump-ng wlan1 2>&1 | grep 38:EF:A5:8B:5D:85 | awk '{print $11}')
echo $Essid

现在你有可能按预期工作。请注意,如果ifconfig命令无法使wlan1失效,那么它将无法使用iwconfig命令(或ifconfig命令)重新启动,如果这是&# 39;问题中的拼写错误。)

请记住:' one-liner'除非你在APL写作,否则是一个贬义词。 shell不是APL。