1 votos

Conseguir que parte del resultado de la línea de comandos de OS X

Me gustaría utilizar la siguiente línea de comandos para obtener la corriente de conexión Wi-Fi channel.

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I

Me gustaría usar exactamente este comando, porque es posible que yo estoy usando más las partes del resultado. Así que yo estoy necesitando un AppleScript que me devuelve sólo el actual canal Wi-Fi de la orden.

Estoy agradecido por cualquier ayuda. :)

4voto

sunny256 Puntos 3262

Yo recomiendo usar el "grep" y "awk" comandos de bash. Usted las puede utilizar para analizar los datos que figuran en bash. Aquí es un ejemplo usando los datos que se describe anteriormente.

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep "channel" | awk '{print $2}'

Hazte un favor y sym enlace de los binarios en /usr/local/bin así que usted puede simplemente escribir aeropuerto (o script)

airport -I | grep "channel" | awk '{print $2}'

2voto

user3439894 Puntos 5883

Aquí hay un ejemplo usando AppleScript tron_jones la respuesta.

El resultado del comando conjunto de a _channel y luego se usa en un cuadro de diálogo para mostrar el resultado. Obviamente _channel puede ser utilizado en una variedad de maneras.

set _channel to do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep 'channel:' | awk '{print $2}'"
display dialog "Wi-Fi is using Channel: " & _channel

Nota: El nombre completo de la ruta para grep e o awk puede necesitar ser suministrado. También las comillas dobles alrededor de grep "channel:" fueron reemplazados con comillas simples por lo que el comando podría ser incapsulated en comillas dobles en el fin de compilar debido a las comillas simples en la awk comando.

Por cierto, el comando puede ser reducido a la siguiente mediante asteriscos (*) acortar el escrito ruta de acceso a la airport comando:

set _channel to do shell script "/S*/L*/P*/A*/V*/C*/R*/airport -I | grep 'channel:' | awk '{print $2}'"

Para acortar la línea de comandos además, gracias a bmike, en un Terminal, utilice el siguiente comando para crear el enlace simbólico:

sudo ln -s "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport" "/usr/local/bin/airport"

Entonces, como un ejemplo en la Terminal, todo lo que necesitas hacer es escribir: airport -I

O en un AppleScript comando usando el ejemplo anterior:

set _channel to do shell script "airport -I | grep 'channel:' | awk '{print $2}'"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X