Articles of bash

Como executar um comando bash armazenado como uma string com aspas e asterisco

Eu tento executar o seguinte comando: mysql AMORE -u username -ppassword -h localhost -e “SELECT host FROM amoreconfig” Eu guardo em uma string: cmd=”mysql AMORE -u username -ppassword -h localhost -e\”SELECT host FROM amoreconfig\”” Teste-o : echo $cmd mysql AMORE -u username -ppassword -h localhost -e”SELECT host FROM amoreconfig” Tente executar fazendo: $cmd E eu […]

Echo newline no Bash imprime literal \ n

No Bash, tentei isso: echo -e “hello\nworld” Mas não imprime uma nova linha, apenas \n . Como posso imprimir a nova linha? Estou usando o Ubuntu 11.04.

como executar script como outro usuário sem senha

Eu tenho script.sh que deve ser executado como user2. No entanto, esse script só pode ser executado sob user1 no meu aplicativo. Eu gostaria que o seguinte comando fosse executado: su user2 -C script.sh mas ser capaz de rodar sem senha. Eu também quero que isso seja muito restritivo, como no user1 só pode executar […]

Comparando números no Bash

Estou começando a aprender sobre como escrever scripts para o terminal bash, mas não consigo descobrir como fazer com que as comparações funcionem corretamente. O script que estou usando é: echo “enter two numbers”; read ab; echo “a=$a”; echo “b=$b”; if [ $a \> $b ]; then echo “a is greater than b”; else echo […]

Melhor maneira de renomear arquivos com base em vários padrões

muitos arquivos que eu baixei têm porcaria / spam em seus nomes de arquivos, por exemplo [ www.crap.com ] file.name.ext www.crap.com – file.name.ext Eu criei duas maneiras de lidar com elas, mas as duas parecem bem desajeitadas: com expansão de parâmetro: if [[ ${base_name} != ${base_name//\[+([^\]])\]} ]] then mv -v “${dir_name}/${base_name}” “${dir_name}/${base_name//\[+([^\]])\]}” && base_name=”${base_name//\[+([^\]])\]}” fi […]

Substituir uma subcadeia por outra seqüência no script de shell

Eu tenho “Eu amo Suzi e Marry” e eu quero mudar “Suzi” para “Sara”. #!/bin/bash firstString=”I love Suzi and Marry” secondString=”Sara” # do something… O resultado deve ser assim: firstString=”I love Sara and Marry”

ffmpeg em um tubo de bash

Eu tenho uma lista de caminho de arquivo rmvb e quero converter esses arquivos para arquivos mp4. Então, espero usar o pipeline para lidar com isso. O código é Convert() { ffmpeg -i “$1” -vcodec mpeg4 -sameq -acodec aac -strict experimental “$1.mp4” } Convert_loop(){ while read line; do Convert $line done } cat list.txt | […]

Equivalente em lote de backticks de Bash

Ao trabalhar com o Bash, posso colocar a saída de um comando em outro comando da seguinte forma: my_command `echo Test` seria a mesma coisa que my_command Test (Obviamente, este é apenas um exemplo não prático). Eu só estou querendo saber se você pode fazer a mesma coisa no Batch.

Teste se string é um inteiro válido

Estou tentando fazer algo bastante comum: Analisar a input do usuário em um script de shell. Se o usuário forneceu um inteiro válido, o script faz uma coisa e, se não for válido, faz outra coisa. O problema é que eu não encontrei uma maneira fácil (e razoavelmente elegante) de fazer isso – eu não […]

Script de shell para excluir diretórios com mais de n dias

Eu tenho diretórios nomeados como: 2012-12-12 2012-10-12 2012-08-08 Como eu excluiria os diretórios com mais de 10 dias com um script de shell bash?