Articles of bash

Como posso usar curingas inversas ou negativas quando a correspondência de padrões em um shell unix / linux?

Digamos que eu queira copiar o conteúdo de um diretório, excluindo arquivos e pastas cujos nomes contenham a palavra ‘Música’. cp [exclude-matches] *Music* /target_directory O que deve acontecer no lugar de [excluir correspondências] para conseguir isso?

Redirecionar stderr e stdout no Bash

Eu quero redirect stdout e stderr de um processo para um único arquivo. Como faço isso no Bash?

Como armazenar um erro padrão em uma variável em um script Bash

Digamos que eu tenha um script como o seguinte: useless.sh echo “This Is Error” 1>&2 echo “This Is Output” E eu tenho outro script de shell: tambémUseless.sh ./useless.sh | sed ‘s/Output/Useless/’ Eu quero capturar “This Is Error”, ou qualquer outro stderr de useless.sh, em uma variável. Vamos chamá-lo de ERRO. Observe que estou usando stdout […]

Enganar um aplicativo para pensar que seu stdout é um terminal, não um pipe

Eu estou tentando fazer o oposto Detectar se stdin é um terminal ou tubo? Estou executando um aplicativo que está alterando seu formato de saída porque ele detecta um canal no stdout e quero que ele seja um terminal interativo para que eu obtenha a mesma saída ao redirect. Eu estava pensando que envolvê-lo em […]

Acessando argumentos de linha de comando bash $ @ vs $ *

Em muitas perguntas SO e tutoriais bash, vejo que posso acessar argumentos da linha de comando em scripts bash de duas maneiras: $ ~ >cat testargs.sh #!/bin/bash echo “you passed me” $* echo “you passed me” $@ O que resulta em: $ ~> bash testargs.sh arg1 arg2 you passed me arg1 arg2 you passed me […]

Bash – variables ​​variables

Eu tenho a variável $foo=”something” e gostaria de usar: bar=”foo”; echo $($bar) para obter “algo” ecoado.

Como usar o sed / grep para extrair texto entre duas palavras?

Eu estou tentando saída uma seqüência de caracteres que contém tudo entre duas palavras de uma seqüência de caracteres: input: “Here is a String” saída: “is a” Usando: sed -n ‘/Here/,/String/p’ inclui os pontos de extremidade, mas não quero incluí-los.

Transmitindo argumentos para um programa interativo não interativamente

Eu tenho um script bash que emprega o comando de leitura para ler argumentos para comandos de forma interativa, por exemplo, opções de sim / não. Existe uma maneira de chamar esse script em um script não interativo passando valores de opções padrão como argumentos? Não é apenas uma opção que tenho que passar para […]

Redirecionar toda a saída para o arquivo

Eu sei que no Linux, para redirect a saída da canvas para um arquivo, eu posso usar o > ou tee . No entanto, não sei por que parte da saída ainda é enviada para a canvas e não gravada no arquivo. Existe uma maneira de redirect toda a saída para o arquivo?

Definindo um argumento com bash

Eu frequentemente executo um comando bash simples: rpm -Uvh –define “_transaction_color 3″ myPackage.rpm que funciona corretamente. Mas agora estou tentando fazer o script em um arquivo bash e torná-lo mais flexível: #!/bin/bash INSTALL_CMD=rpm INSTALL_OPT=”-Uvh –define ‘_transaction_color 3′” ${INSTALL_CMD} ${INSTALL_OPT} myPackage.rpm No entanto, isso continua gerando o erro: error: Macro % has illegal name (%define) O […]