Longos comandos colados no terminal

0

Não consigo colar o comando longo no terminal.

Existe um comando ls que usa um monte de argumnets e estou tentando inserir o terminal copiando.

Mas ele é executado em todas as linhas.

Então eu recebo o erro.

O que posso fazer?

    
por Arshia Aghaei 16.02.2016 / 14:56

2 respostas

4

Ele soa como se fossem vários comandos, ou um que tenha - por algum motivo ou outro - sido dividido em várias linhas. Se você pudesse nos mostrar, isso iria a alguma distância para deixar saber qual é neste caso.

Isso não quer dizer que não há casos em que um comando é realmente muito longo, é realmente muito raro na prática, certamente quando copiando e colando! Se você está batendo nessa parede, veja xargs por resposta de Eduard.

Se for um comando com novas linhas adicionadas, remova as novas linhas.

A formatação na internet nem sempre é perfeita. Alguns sites (e autores) usam tags pobres para código e isso pode significar que algumas coisas são divididas em várias linhas, quebrando-as. Um exemplo simples é executar ls em dois diretórios sendo truncados:

ls a_really_long_directory_name
another_really_long_directory_name

A resposta simples aqui é apenas remover essa nova linha:

ls a_really_long_directory_name another_really_long_directory_name

Mas você também pode escapar da nova linha com uma barra invertida como o último caractere na linha:

ls a_really_long_directory_name \
another_really_long_directory_name

Se houver vários comandos que você deseja executar todos juntos, não cole-os em um script e execute-os quando estiver pronto.

Se "o comando" realmente se parece com:

ls a_really_long_directory_name
ls another_really_long_directory_name

São dois comandos. Quando você colá-los em cada caractere de nova linha, isso forçará a execução dessa linha. É assim que a maioria dos shells funcionam no Ubuntu. Se você quiser agrupá-los, pode colá-los em um arquivo (vamos chamá-lo de myscript ) e depois dizer ao bash para executar esses comandos:

bash myscript

Você não precisa mexer com crunchbangs e permissões de execução, basta informar ao bash qual arquivo abrir e executar. Você pode fazer essas coisas se quiser, mas elas não são necessárias aqui.

    
por Oli 16.02.2016 / 15:05
2

O limite de comprimento é bastante longo, você pode verificar com:

xargs --show-limits

(veja Qual é o comprimento máximo dos argumentos da linha de comando no gnome-terminal? )

Portanto, provavelmente há novas linhas entre os comentários. Você pode verificá-lo primeiro colando-o no gedit e verifique se ele tem apenas uma linha, então você pode colá-lo no terminal usando Ctrl + Shift + V

    
por Eduard Florinescu 16.02.2016 / 15:03