Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
execute命令是bash,并为其输出提取数据_Bash_Shell - Fatal编程技术网

execute命令是bash,并为其输出提取数据

execute命令是bash,并为其输出提取数据,bash,shell,Bash,Shell,我必须从终端中执行的以下命令中提取一些需要的数据: emulator -avd emualtor-666 在我执行in之后,我在终端中得到了这样的输出,在一秒钟内有一个小的延迟: emulator: Listening for console connections on port: 5566 emulator: Serial number of this emulator (for ADB): emulator-5566 emulator: emulator window was out

我必须从终端中执行的以下命令中提取一些需要的数据:

emulator -avd emualtor-666 
在我执行in之后,我在终端中得到了这样的输出,在一秒钟内有一个小的延迟:

emulator: Listening for console connections on port: 5566
emulator: Serial number of this emulator (for ADB): emulator-5566
emulator: emulator window was out of view and was recentered
因此,我需要从第一行提取端口值:5566,或者从第二行提取emulator-5566。我该怎么做

我绑定了以下脚本,但它在执行时遇到了问题,返回了任何行:

#!/usr/bin/env bash

emuName=$1

IFS=$'\n'
for line in $(emulator -avd "$emuName");
do
echo ${line}
done  
我做错了什么?

试试看

emulator -avd emualtor-666 | head -1 | cut -d ':' -f 3


我想,
emulator
就是Android设备模拟器。如果我猜对了,您可以将ADB端口作为
-ports控制台端口,ADB端口
emulator -avd emualtor-666 | sed -e 's/.*Listening.*://;t;d'
emulator -avd emualtor-666 | awk '/Listening/ {gsub(/.*:/,""); print}'