Perguntas com a marcação «bash»

Perguntas específicas ao Bourne Again SHell do GNU, em oposição a outros shells Bourne / POSIX. Para perguntas sobre shells do Unix em geral, use a tag / shell.

1
Bash: redirecionar para arquivo, sempre criar novos
No bash, um link de comando echo test > actual.txt substituirá o conteúdo do arquivo chamado actual.txtpor "test" e criará o arquivo se ele não existir. No entanto, se o arquivo existir, o bash o abrirá, truncará e gravará o novo conteúdo no arquivo. Especificamente, o comando redirecionar falha neste …

4
como mudar o valor da matriz no bash
queremos construir 6 pastas de pontos de montagem como exemplo /data/sdb /data/sdc /data/sdd /data/sde /data/sdf /data/sdg então escrevemos esse script bash simples usando array folder_mount_point_list="sdb sdc sdd sde sdf sdg" folderArray=( $folder_mount_point_list ) counter=0 for i in disk1 disk2 disk3 disk4 disk4 disk5 disk6 do folder_name=${folderArray[counter]} mkdir /data/$folder_name let counter=$counter+1 …

2
Ignora "sem correspondências"
Eu gostaria de listar todos os arquivos em uma pasta chamada foldernameque têm a extensão test, atestou btest. Meu pensamento imediato foi correr ls ./foldername/*.{a,b,}test Isso funciona bem, a menos que não exista nada com a extensão atest; nesse caso, recebo o erro zsh: no matches found: ./foldername/*.atest. Existe alguma …


1
BAND RANDOM com sementes?
Eu tenho usado $((1 + RANDOM % 1000))para gerar um número aleatório. É possível fazer algo semelhante, mas fornecer uma semente? Para que, dada a mesma semente, o mesmo número aleatório seja sempre gerado?
8 bash  random 

4
Dividir cadeia usando IFS
Eu escrevi um exemplo de script para dividir a string, mas não está funcionando conforme o esperado #!/bin/bash IN="One-XX-X-17.0.0" IFS='-' read -r -a ADDR <<< "$IN" for i in "${ADDR[@]}"; do echo "Element:$i" done #split 17.0.0 into NUM IFS='.' read -a array <<<${ADDR[3]}; for element in "${array[@]}" do echo "Num:$element" …


3
Referenciando variáveis ​​do array bash de outro array
Eu quero escrever um script para referenciar várias matrizes de outra matriz que contém os nomes de variáveis ​​dessa matriz. Aqui está o meu código até agora: #!/bin/bash array1=('array1string1' 'array1string2') array2=('array2string1' 'array2string2') array_names=('array1' 'array2') for a in ${array_names[@]} do for b in ${a[@]} do echo $b done done Gostaria que …


1
Criando minha própria função cp no bash
Para uma tarefa, sou solicitado a escrever de forma inteligente uma função bash que possui a mesma funcionalidade básica que a função cp(cópia). Ele só precisa copiar um arquivo para outro, portanto, nenhum arquivo múltiplo é copiado para um novo diretório. Como eu sou novo no idioma bash, não consigo …



1
Bash Globbing não como o esperado
Esta é uma pergunta de lição de casa: Combine todos os nomes de arquivos com 2 ou mais caracteres que começam com uma letra minúscula, mas não terminam com uma letra maiúscula. Não entendo por que minha solução não está funcionando. Então eu executei o abaixo: touch aa touch ha …

3
Envie stdout e stderr para arquivo, syslog e terminal
Para algumas máquinas na nuvem que estou iniciando, estou tentando fazer logon em um arquivo específico, syslog e no terminal / console. Na parte superior dos scripts de configuração da máquina / cloud-init, tenho o seguinte: #!/bin/bash exec &> >(tee "/tmp/box-setup.log" | logger -t box-setup) apt-get install -y some-package Isso …

2
Executar enquanto verdadeiro no script systemd
Eu tenho um script bash essencialmente executando isso: #!/bin/bash [...] while true; do str="broadcast "`randArrayElement "messages[@]"` server_send_message $str sleep $interval done Agora eu quero executar isso como um serviço systemd, meu script de serviço fica assim: [Unit] Description=Announcer After=network.target [Service] ExecStart=/usr/local/bin/somescript &; disown ExecStop=/usr/bin/kill -9 `cat /tmp/somescript.pid` Type=forking PIDFile=/tmp/somescript.pid [Install] …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.