Articles of festança

Use bash para ler linha por linha e manter espaço

Quando eu uso “cat test.file”, ele irá mostrar 1 2 3 4 Quando eu uso o arquivo bash, cat test.file | while read data do echo “$data” done Vai mostrar 1 2 3 4 Como eu poderia fazer o resultado exatamente como o arquivo de teste original?

Erro de script de bash [:! =: Operador unário esperado

No meu script, estou tentando verificar se o primeiro e único argumento é igual a -v, mas é um argumento opcional. Eu uso uma instrução if, mas continuo recebendo o erro esperado do operador unário. este é o código: if [ $1 != -v ]; then echo “usage: $0 [-v]” exit fi Editar: Eu deveria […]

script bash para verificar o processo em execução

Eu escrevi um script bash para verificar se um processo está sendo executado. Não funciona, pois o comando ps sempre retorna o código de saída 1. Quando executo o comando ps a partir da linha de comando, o $? está definido corretamente, mas dentro do script é sempre 1. Alguma idéia? #!/bin/bash SERVICE=$1 ps -a […]

Como aplicar o comando shell a cada linha de uma saída de comando?

Suponha que eu tenha alguma saída de um comando (como ls -1 ): a b c d e … Eu quero aplicar um comando (digamos, echo ) a cada um, por sua vez. Por exemplo echo a echo b echo c echo d echo e … Qual é a maneira mais fácil de fazer isso […]

A expansão de parâmetro pode ser aninhada no Bash?

Duplicar Possível: Expressões de expansão de parâmetro $ {var} podem ser aninhadas no bash? É possível aninhar a expansão do parâmetro shell (${}) ? Se eu quiser fazer algo assim: foo=( 1 2 3 4 5 ) echo ${${foo[@]/3/bar}:1}

Variáveis ​​do shell definidas dentro do loop, embora não visíveis fora dele

Eu estou tentando encontrar o caminho com o maior número de caracteres nele. Pode haver maneiras melhores de fazer isso. Mas eu gostaria de saber por que esse problema ocorre. LONGEST_CNT=0 find samples/ | while read line do line_length=$(echo $line | wc -m) if [[ $line_length -gt $LONGEST_CNT ]] then LONGEST_CNT=$line_length LONGEST_STR=$line fi done echo […]

Como mostrar e atualizar o eco na mesma linha

Eu tenho o seguinte no Bash (no Linux) for dir in Movies/* do (cd “$dir” && pwd|cut -d \/ -f5|tr -s ‘\n’ ‘, ‘ >> ../../movielist && exiftool * -t -s3 -ImageSize -FileType|tr -s ‘\t’ ‘,’ >> ../../movielist ) echo “Movie $movies – $dir ADDED!” let movies=movies+1 done Mas eu quero fazer com que o […]

Como posso remover todo o texto depois de um caractere no bash?

Como posso remover todo o texto depois de um caractere, neste caso, dois pontos (“:”), no bash? Posso remover o cólon também? Eu não tenho ideia de como.

-bash: ./my_script: / bin / bash ^ M: intérprete incorreto: Nenhum arquivo ou diretório

Estou aprendendo através deste tutorial para aprender scripts bash para automatizar algumas tarefas para mim. Estou me conectando a um servidor usando putty. O script, localizado em …/Documents/LOG , é: #!/bin/bash # My first script echo “Hello World!” E eu executei o seguinte para permissions de leitura / gravação / execução chmod 755 my_script Então, […]

Como o script bash pode fazer o equivalente a Ctrl-C em uma tarefa em segundo plano?

Existe alguma maneira de invocar um subprocess para que ele e todos os seus descendentes sejam enviados uma interrupção, como se você Ctrl-C uma tarefa em primeiro plano? Eu estou tentando matar um script de iniciador que invoca um filho de longa duração. Eu tentei kill -SIGINT $child (que não envia a interrupção para seus […]