4 votos

Abrir varias urls desde el Terminal

Puedo abrir una ventana de cromo a través de

open https://en.wikipedia.org/wiki/Main_Page

También puedo abrir varias URLs por líneas múltiples

open https://www.youtube.com/
open https://en.wikipedia.org/wiki/Main_Page

Sin embargo, lo siguiente no funcionará

open https://www.youtube.com/ && https://en.wikipedia.org/wiki/Main_Page

pero funciona con

open https://www.youtube.com/ && open https://en.wikipedia.org/wiki/Main_Page

Quiero una expresión elegante en línea como

open ('https://www.youtube.com/','https://en.wikipedia.org/wiki/Main_Page')

¿Cómo hacerlo?

4voto

Nate Puntos 220

Sólo tiene que suministrar todas las URL que desee abrir como argumentos a un único open comando:

open https://www.youtube.com/ https://en.wikipedia.org/wiki/Main_Page

El open se ha escrito para manejar esto.

La razón por la que no funciona con && es que en la sintaxis del shell, && es un delimitador entre diferentes comandos, no entre los argumentos de un mismo comando. Así que estaba intentando ejecutar https://en.wikipedia.org/wiki/Main_Page como un comando separado, que no funciona.

Más concretamente, && ejecuta el segundo comando sólo si el primero tiene éxito. Hay una serie de delimitadores de comandos que se pueden utilizar con diferentes significados:

cmd1 ; cmd2    # Runs cmd1 and then cmd2 (just as though they were on different lines)
cmd1 & cmd2    # Runs cmd1 and cmd2 simultaneously, with cmd1 in the background
cmd1 | cmd2    # Runs cmd1 and cmd2 simultaneously, with cmd1's output piped to cmd2's input
cmd1 && cmd2    # Runs cmd1, and then if it succeeds runs cmd2
cmd1 || cmd2    # Runs cmd1, and then if it fails runs cmd2

1voto

Oskar Puntos 1242

Asumiendo que estás usando la opción por defecto bash concha:

for fff in $(echo https://one.com/whatever http://two.com/something%20else )
do
    open $fff
done

No necesitas necesariamente el $(echo a b c) y podrías simplemente pegar las palabras. También puede omitir las líneas múltiples con dos puntos y coma donde sea necesario para dividir el para bucle:

for fff in a b c; do echo $fff; done

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