AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-12539

ahmet alp balkan's questions

Martin Hope
ahmet alp balkan
Asked: 2019-07-12 09:05:43 +0800 CST

Usando bash "wait" para sair assim que um dos processos em segundo plano terminar

  • 3

Estou tentando escrever um script bash que bifurca dois processos de servidor em segundo plano (cujo encerramento significa um problema), e esse script sairia assim que um deles terminasse (sem esperar pelo outro).

Aqui está o que eu tentei até agora:

Tentativa 1

waitUsando a diretiva bash . Isso não funcionou porque ainda aguarda a conclusão de ambos os processos. No meu caso, estou executando dois processos de servidor, portanto, se eles forem concluídos, significa que algo está errado, portanto, devo sair desse script completamente.

#!/usr/bin/env bash
set -e

./server1 &
pid1="$!"
./server2 & 
pid1="$!"

wait "$1"
wait "$2"

Tentativa 2

O mesmo que acima, mas apenas diga waitsem especificar pid. Faz o mesmo comportamento.

...
pid2="$!"
wait

Tentativa 3

Eu tentei usar sub-shells e sair de lá. Mas o exitse aplica apenas ao sub-shell, então ainda esperamos que ambos os processos em segundo plano terminem:

#!/usr/bin/env bash
set -e

( ./server1 || echo crash1; exit 1 ) &
( ./server2 || echo crash2; exit 2 ) &
wait

Existe uma maneira de conseguir isso (bifurcar dois processos do servidor em segundo plano e sair assim que um deles terminar) no bash?

bash shell-script
  • 1 respostas
  • 1193 Views
Martin Hope
ahmet alp balkan
Asked: 2019-06-25 15:11:24 +0800 CST

O que o `exec {STDIN}>&0` faz? [duplicado]

  • 0
Essa pergunta já tem respostas aqui :
O que 'exec {fd}</dev/watchdog' faz no Bash (3 respostas)
Fechado há 3 anos .

Eu vi isso em um script bash e tentei entender:

exec {STDIN}>&0
exec {STDOUT}>&1
exec {STDERR}>&2

As "strings mágicas" {STDIN}, etc são reconhecidas por diretiva em scripts bash?{STDOUT}exec

STDOUT já não está definido como &1(e STDERR definido como &2, ...) de qualquer maneira?

O que essas linhas fazem?

bash shell-script
  • 1 respostas
  • 764 Views
Martin Hope
ahmet alp balkan
Asked: 2019-03-15 08:52:40 +0800 CST

Por que estou recebendo "Diretório não vazio" com "rm -rf"?

  • 3

Estou usando o macOS com rmferramenta do GNU coreutils (não do próprio macOS rm).

Então eu tenho um script onde eu limpo algum diretório assim:

if [ -d "${cleanup_repo_clone_root}" ]; then
    echo "Cleaning up tmp directory: ${cleanup_repo_clone_root}"
    set -x; rm -rf -- "${cleanup_repo_clone_root}"
fi

Eu joguei um set -xlá para ver o que está acontecendo.

Está me mostrando a saída:

+ set -x
+ rm -rf -- /var/folders/h7/n46zg3md4l57vzsgxcs355/T/tmp.eizQw1iNBQ
rm: cannot remove '/var/folders/h7/n46zg3md4l57vzsgxcs355/T/tmp.eizQw1iNBQ': Directory not empty

mas se eu copiar e colar esse comando rm e executá-lo, funciona bem!

$ rm -rf -- /var/folders/h7/n46zg3md4l57vzsgxcs355/T/tmp.eizQw1iNBQ

O que esta acontecendo aqui?

scripting rm
  • 2 respostas
  • 11133 Views
Martin Hope
ahmet alp balkan
Asked: 2019-03-09 20:57:15 +0800 CST

Como dividir um argumento de string em um bash em várias linhas sem adicionar espaço

  • 2

Estou executando o seguinte comando:

some_command --flag "foo\
    bar\
    quux" arg2

Isso faz com que a string seja passada como foo\tbar\tquux.

Estou procurando uma maneira de passar esse argumento sem ser caracteres de tabulação (ou outros caracteres de espaço em branco adicionados) mantendo o recuo (para tornar meu script legível).

shell arguments
  • 2 respostas
  • 2436 Views
Martin Hope
ahmet alp balkan
Asked: 2019-01-29 18:45:15 +0800 CST

O ZSH pensa que a citação não terminada se for precedida por um ponto de exclamação (!)

  • 8

Eu tenho zsh 5.3 (através de oh-my-zsh), se eu executar echo --message="foo!", recebo um prompt de cotação não terminado na próxima linha:

$ echo --message="foo!"
dquote>

Isso não acontece no bash.

Quando eu retiro o !caractere do argumento, funciona bem:

$ echo --message="foo"
--message=foo

O que está acontecendo aqui?


Também devo observar que, se eu responder ao prompt de cotação não terminado com "e pressionar return, recebo essa saída, que descarta totalmente o !:

$ echo --message="foo!"
dquote> "
--message=foo
zsh
  • 1 respostas
  • 2258 Views
Martin Hope
ahmet alp balkan
Asked: 2018-09-06 13:33:13 +0800 CST

Onde está a página de manual para [[? [duplicado]

  • 1
Essa pergunta já tem respostas aqui :
Qual é a diferença entre os operadores Bash [[ vs [ vs ( vs ((? (6 respostas))
Como ler a página de manual para um bash embutido? [duplicado] (1 resposta)
Fechado há 4 anos .

Estou tentando encontrar a página de manual para [[(colchetes duplos).

Aparentemente man test, apenas documentos teste arquivos [.

As condicionais para [[e [são exatamente as mesmas?

bash
  • 2 respostas
  • 628 Views
Martin Hope
ahmet alp balkan
Asked: 2018-08-22 19:32:11 +0800 CST

Por que o tput está falhando silenciosamente em TERM = vt100

  • -1

Estou usando o zsh com o iTerm como meu emulador de terminal no macOS e meu ambiente tem TERM=xterm-256colorpor padrão.

Se eu executar tput setaf 3ele sai com o código 0.

Se eu definir TERM=vt100e executar tput setaf 3ele sai com o código 1 (indicando falha).

Por que este é o caso?

terminal colors
  • 2 respostas
  • 375 Views
Martin Hope
ahmet alp balkan
Asked: 2018-01-03 12:14:03 +0800 CST

O OpenSSH não limpa o soquete do domínio após a rescisão

  • 8

Eu tenho um soquete unix local encapsulado em outro soquete unix em uma instância remota por SSH:

ssh -N -L $HOME/my.sock:/var/run/another.sock

no entanto, quando eu encerro o ssh normalmente (ou seja, ctrl+C ou SIGTERM), o arquivo $HOME/my.sockpermanece. Parece que isso não foi limpo corretamente. Existe uma opção/sinalizador para isso?

Isso é problemático porque, se eu executar o comando pela segunda vez, ele falhará devido ao arquivo de soquete existente. (Não consigo ver um sinalizador/opção de "reutilização" que substituirá o arquivo de soquete existente.) E prefiro não adicionar um arquivo rm -f $HOME/my.sock.

ssh unix-sockets
  • 1 respostas
  • 1736 Views
Martin Hope
ahmet alp balkan
Asked: 2017-12-31 23:32:23 +0800 CST

Proxy de tráfego no unix local para um soquete unix remoto por SSH

  • 5

Estou tentando ter um soquete de domínio Unix local, digamos, ~/docker.sock. Eu quero que ele faça proxy de tudo para um soquete de domínio Unix remoto em execução em outro lugar por SSH. (Você pode encontrar um diagrama do que estou tentando fazer abaixo).

O OpenSSH suporta isso ( um exemplo aqui). Por exemplo, este comando fará proxy das conexões do cliente MySQL em um servidor remoto para minha instância local:

ssh -R/var/run/mysql.sock:/var/run/mysql.sock -R127.0.0.1:3306:/var/run/mysql.sock somehost

Mas não é assim que eu quero que seja. Ele encaminha o tráfego que chega ao soquete remoto para o meu soquete local (quero o contrário).

insira a descrição da imagem aqui

ssh ssh-tunneling
  • 2 respostas
  • 6365 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve