Estou escrevendo um script bash onde quero sair se o usuário não for root. O condicional funciona bem, mas o script não sai. [[ `id -u` == 0 ]] || (echo "Must be root to run script"; exit) Eu tentei usar em &&vez de, ;mas não
Estou escrevendo um script bash onde quero sair se o usuário não for root. O condicional funciona bem, mas o script não sai. [[ `id -u` == 0 ]] || (echo "Must be root to run script"; exit) Eu tentei usar em &&vez de, ;mas não
Considere o seguinte nome de script (um pouco bobo) 'test1.sh': #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep Quando o executo, recebo não apenas a saída do eco, mas também o relatório do bash sobre a morte do sono no stderr: $ ./test1.sh sleep pid = 3551 ./test1.sh: line 5: 3551...
Às vezes eu vejo scripts usam todas estas diferentes formas de citar algum texto: "...", '...', $'...', e $"...". Por que existem tantos tipos diferentes de cotação em uso? Eles se comportam de maneira diferente ou afetam o que eu posso fazer dentro
Eu tenho um script que não sai quando eu quero. Um script de exemplo com o mesmo erro é: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Eu assumiria ver a saída: :~$ ./test.sh 1 :~$ Mas eu realmente vejo: :~$ ./test.sh 1 2 :~$ O ()encadeamento de comando...
unset array[0]remove o elemento, mas ainda assim, se eu echo ${array[0]}receber um valor nulo, além disso, existem outras maneiras de fazer isso, mas se um elemento de uma matriz contiver espaços como abaixo array[0]='james young' array[1]='mary' array[2]='randy orton' mas estes também não...
Notei que {pode ser usado na expansão de chaves: echo {1..8} ou no agrupamento de comandos: {ls;echo hi} Como o bash sabe a
Portanto, excluí minha pasta pessoal (ou, mais precisamente, todos os arquivos aos quais tive acesso de gravação). O que aconteceu é que eu tinha build="build" ... rm -rf "${build}/"* ... <do other things with $build> em um script bash e, depois de não precisar mais $build, remover a...
Eu tenho um script que precisa criar arquivos temporários para o seu trabalho e limpar depois de si mesmo. Minha pergunta é sobre como encontrar o diretório base correto para os arquivos temporários. O script precisa funcionar em várias plataformas: Git Bash (Windows), Solaris, Linux, OSX. Em cada...
O que é uma maneira rápida de alternar entre vários diretórios para administração do sistema? Quero dizer, eu posso usar pushd .e popdalternar, mas e se eu quiser armazenar múltiplos e percorrê-los, em vez de removê-los permanentemente da parte inferior da
O objetivo desta pergunta é responder a uma curiosidade, não resolver um problema de computação específico. A pergunta é: Por que os utilitários obrigatórios do POSIX não costumam ser incorporados às implementações de shell? Por exemplo, eu tenho um script que basicamente lê alguns arquivos de...
Eu hackeei muitos scripts shell e, às vezes, as coisas mais simples me confundem. Hoje, deparei-me com um script que fazia uso extensivo do :bash (dois pontos) incorporado. A documenação parece bastante simples: : (a colon) : [arguments] Não faça nada além de expandir argumentos e...
Na wikipedia, o artigo para .sh diz: Para o tipo de extensão de arquivo .sh, consulte Bourne shell . E quanto a outras conchas unix? Eu sei que o shebang é usado dentro do arquivo para indicar um intérprete para execução, mas eu me pergunto: Quais são os prós e os contras das extensões de...
Existem várias maneiras de executar um script, os que eu sei são: /path/to/script # using the path (absolute or relative) . script # using the . (dot) source script # using the `source` command São mais disso? Quais são as diferenças entre eles? Existem situações em que devo usar um e não...
Eu tenho uma matriz que contém alguns elementos, mas quero enviar novos itens para o início da matriz; Como faço
Qual é a melhor maneira (confiável, portátil, etc.) para verificar se uma determinada pasta está em um sistema de arquivos remoto (nfs) montado em um script de shell? Estou procurando um comando que se pareça com: chk-remote-mountpoint /my/path/to/folder
Eu quero fazer algo assim: if cmd1 && cmd2 echo success else echo epic fail fi Como devo fazer
No script bash: criamos variável apenas nomeando-a: abc=ok ou podemos usar declare declare abc=ok qual é a diferença? e por que o bash faz tantas maneiras de criar uma
Quando tento correr ./script.sh, consegui, Permission deniedmas quando corro bash script.shestá tudo bem. O que eu fiz
Eu estou olhando para escrever um script que leva um .txtnome de arquivo como argumento, lê o arquivo linha por linha e passa cada linha para um comando. Por exemplo, ele é executado command --option "LINE 1", command --option "LINE 2"etc. A saída do comando é gravada em outro arquivo. Como faço...
Quero testar meu script com um comando que falha. Eu poderia usar um comando existente com argumentos ruins. Eu também poderia escrever um script simples que saia imediatamente com uma falha. Ambos são fáceis de fazer e funcionam para mim, mas se houver um comando padrão para esse fim, eu gostaria...