1 votos

Cómo puedo abrir varias URLs en una nueva ventana de Chrome desde el terminal

Puedo abrir varias URLs en la ventana actual de Chrome desde el terminal:

open https://www.apple.com/ https://www.apple.com/ https://www.amazon.com/

Cuando traté de abrir en una ventana nueva utilizando

open -n https://www.apple.com/ https://www.apple.com/ https://www.amazon.com/

Cromo responde con sólo una nueva ventana en blanco.

¿Cómo puedo abrir todas las URL en una ventana nueva?

2voto

user91500 Puntos 6355

El perezoso solución

Utilizar AppleScript para hacer la nueva ventana, a continuación, utilice open sin -n:

osascript -e 'tell app id "com.google.chrome" to make new window' \
  && open https://www.apple.com/ https://www.apple.com/ https://www.amazon.com/

Tan pronto como la ventana se ha abierto, hay posibilidades de que Chrome va a utilizar para todas las direcciones Url. Sin embargo, esa solución es propenso a las condiciones de carrera, especialmente si la otra ventana se crea o se activa mientras que el comando se ejecuta.1

[1] En la práctica, existen varios escenarios en los que esto puede suceder, e. g. si ejecuta el comando en paralelo, o si Chrome intenta recuperar su windows después de un accidente, o cuando el usuario (u otro programa) intenta abrir una nueva ventana, etc.

La solución más robusta

Una alternativa más robusta, que no tiene la condición de carrera se mencionó anteriormente, es el siguiente todo AppleScript solución:

#!/usr/bin/osascript
on run(theUrls)
    tell app id "com.google.chrome" to tell make new window
            repeat with theUrl in theUrls
                set newTab to make new tab with properties { url: theUrl }
            end repeat
            tell tab 1 to close
    end tell
end run

Guardar ese código, preferiblemente como un archivo sin extensión (e. g. open_new_window). Coloque el archivo en alguna parte en su PATH. Asegúrese chmod 755 el script para que sea ejecutable. En buena medida, te recomiendo también sudo chmod root:wheel .

A partir de ahora, puede invocar el script así:

open_new_window https://www.apple.com/ https://www.apple.com/ https://www.amazon.com/

En caso de que usted no desea utilizar una secuencia de comandos independiente

Utilice la siguiente variante de la prueba, o si prefiere una línea de comandos sin una secuencia de comandos independiente:

osascript \
  -e 'on run(theUrls)' \
  -e '  tell app id "com.google.chrome" to tell make new window' \
  -e '    repeat with theUrl in theUrls' \
  -e '      set newTab to make new tab ¬' \
  -e '        with properties { url: theUrl }' \
  -e '    end repeat' \
  -e '    tell tab 1 to close' \
  -e '  end tell' \
  -e 'end run' \
  https://www.apple.com/ https://www.apple.com/ https://www.amazon.com/

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