Como fazer um comando multistep pedir entradas?

0

Desculpe pelo título confuso, mas aqui está o que eu quero fazer.

Eu corro este comando com bastante frequência:

w3m -dump http://www.example.com/file-to-save-as-text/ > ~/Desktop/saved-file.txt

É possível ter um script (Zenity?) ou simples de terminal que me permita colar o URL http://www.example.com/file-to-save-as-text/ e, em seguida, solicitar que eu digite apenas o nome do arquivo, como saved-file.txt , após o qual w3m irá "despejar" o conteúdo da URL em ~/Desktop com o nome do arquivo que eu especifiquei?

Em outras palavras, em vez de digitar o comando inteiro, só preciso colar o URL (copiado da barra de endereços do meu navegador) e fornecer um nome de arquivo adequado.

    
por DK Bose 09.12.2015 / 16:50

2 respostas

1

Você pode usar este script:

#!/bin/bash
url="$(zenity --entry "URL" --title "Enter the URL:" --text "Enter the URL:" 2>/dev/null)"
filename="$(zenity --entry "filename" --title "Enter the filename:" --text "Enter the filename:" 2>/dev/null)"
w3m -dump "$url" > ~/Desktop/"$filename"
  • url="$(zenity --entry "URL" --title "Enter the URL:" --text "Enter the URL:" 2>/dev/null)" : solicita o URL e armazena a entrada em $url ;
  • filename="$(zenity --entry "filename" --title "Enter the filename:" --text "Enter the filename:" 2>/dev/null)" : solicita o nome do arquivo e armazena a entrada em $filename ;
  • w3m -dump "$url" > ~/Desktop/"$filename" : executa w3m -dump on $url e redireciona a saída para ~/Desktop/"$filename" .
por kos 09.12.2015 / 17:16
1

Você poderia usar algo assim:

#!/bin/bash

echo "enter URL"
read URL
echo "enter filename"
read NAME

w3m -dump "$URL" > "$NAME"

Você pode salvá-lo como run_w3m.sh , torná-lo executável com chmod 755 run_w3m.sh e executá-lo com ./run_w3m.sh . O script pedirá a URL e o caminho para o arquivo.

    
por Wayne_Yux 09.12.2015 / 17:03