xdg-open: Abra várias abas ao mesmo tempo

xdg-open: Abra várias abas ao mesmo tempo

Estou tentando abrir várias guias ao mesmo tempo usando xdg-openmeu navegador padrão, o Firefox.

A seguinte linha funciona (para uma guia):

xdg-open https://stackoverflow.com

Mas este não:

xdg-open https://stackoverflow.com https://google.fr

o erro lançado é:

xdg-open: argumento inesperado 'https://google.fr'

Não há como passar vários URLs para xdg-open? Desde já, obrigado !

Responder1

Isso não é possível xdg-opensozinho porque esperaexatamenteum argumento. Mas você pode escrever uma função para iterar todos os argumentos fornecidos e chamar xdg-openseparadamente.

Abra seu ~/.bashrcarquivo em um editor, por exemplo

gedit ~/.bashrc

e adicione o seguinte texto no final do arquivo:

xo () 
{ 
    for var in "$@"; do
        xdg-open "$var";
    done
}

Salve o arquivo e saia do editor. Depois disso, feche e reabra a janela do terminal ou digite

source ~/.bashrc

na janela atual para que a alteração entre em vigor. De agora em diante você tem um novocomando xoe pode emitir

xo https://stackoverflow.com https://google.fr

Veja tambémminha respostapara a questão ligeiramente relacionada Encurte ou mescle várias linhas de&> /dev/null &.

Responder2

Uma função de abertura simples para abrir arquivo/url (múltiplo) e o novo aplicativo rejeitado no terminal

#!/bin/bash
function openn() {
  if [ "$#" -lt 1 ]; then
    echo "You must enter 1 or more command line arguments";
  elif [ "$#" -eq 1 ]; then
    xdg-open "$1" > /dev/null & disown;
  else
    for file in "$@"; do
      xdg-open "$file" > /dev/null & disown;
    done
  fi
}

informação relacionada