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-7157

Cyker's questions

Martin Hope
Cyker
Asked: 2019-12-10 09:50:00 +0800 CST

bash: condição de corrida com substituição de pipeline, tee e processo

  • 3

Eu quero ver twicea saída duas vezes, mas este script só produzirá uma vez:

dump() {
    (sleep 1; cat) > "$1"
}
(sleep 0; echo "twice") | tee >(dump "./a.txt")
echo "$(< "a.txt")"

Para vê-lo duas vezes, tenho que ajustar o tempo de sono:

dump() {
    (sleep 0; cat) > "$1"
}
(sleep 1; echo "twice") | tee >(dump "./a.txt")
echo "$(< "a.txt")"

O que causou a condição de corrida aqui?

bash tee
  • 3 respostas
  • 586 Views
Martin Hope
Cyker
Asked: 2019-12-10 08:56:40 +0800 CST

bash: use diferentes fluxos de entrada para condição e corpo do loop

  • 4

eu tenho um script com um loop while assim:

while IFS= read -r name; do
    {body}
done < names.txt

a condição de loop precisa ler nomes de um arquivo, mas {body}precisa ler de stdin; o script acima fará a {body}leitura do arquivo, o que é um erro;

eu posso dar a volta com outro fd:

while IFS= read -r name <&3; do
    {body}
done 3< names.txt

perguntas:

  1. esta é a melhor solução?

  2. é seguro/recomendado usar o descritor de arquivo 3? um número fd mais alto dará menos chance de causar um conflito?

bash io-redirection
  • 1 respostas
  • 216 Views
Martin Hope
Cyker
Asked: 2019-01-14 22:44:53 +0800 CST

Qual é um bom tamanho de bloco para cache de arquivos no Linux?

  • 6

O tamanho do bloco do dispositivo é geralmente de 512 bytes, enquanto o tamanho do bloco do sistema de arquivos é geralmente de 4.096 bytes. Por que eles são diferentes? Por que 512B e 4KB são boas opções para tamanhos de bloco de dispositivo e sistema de arquivos? Qual tamanho de bloco funcionaria melhor para armazenar em cache as leituras de disco em uma biblioteca de espaço do usuário?

filesystems cache
  • 1 respostas
  • 2379 Views
Martin Hope
Cyker
Asked: 2019-01-13 09:38:20 +0800 CST

Sem Python no Fedora 29 Copr

  • 3

Um dos meus srcs rpmenviados ao Copr para compilação falhou porque não há implementação do Python; isso é porque algo está errado com o próprio src rpm, ou simplesmente não há implementação do Python em máquinas copr, ou eu perdi algumas configurações?

checking for perl... /usr/bin/perl
checking for python... no
BUILDSTDERR: configure: error: You need 'python' to compile XXX
fedora rpmbuild
  • 1 respostas
  • 308 Views
Martin Hope
Cyker
Asked: 2018-12-18 01:59:08 +0800 CST

canalizar em um programa de maldições

  • 3

A biblioteca ncurses fornece uma interface de usuário interativa. No entanto, eu queria saber o que aconteceria se você canalizar algo para o programa. Então eu tentei assim:

# echo foo | my_curses_prog

Parece que sempre há entrada pendente em stdin, mas getchnão pode ler nada. Então, o que está acontecendo sob o capô?


Programa de teste atualizado:

#include <ncurses.h>

int main()
{
    WINDOW *win = initscr();
    nodelay(win, 0);
    refresh();
    FILE *fp = fopen("my_curses_prog.log", "w");
    while (1) {
        int ch = getch();
        fprintf(fp, "%d\n", ch);
        fflush(fp);
    }
    fclose(fp);
    endwin();
    return 0;
}
terminal pipe
  • 1 respostas
  • 824 Views
Martin Hope
Cyker
Asked: 2018-08-01 08:30:58 +0800 CST

encontrar: tratar barra especialmente

  • 1

Eu gostaria de usar findpara corresponder a um caminho, mas encontrei isso:

-path pattern

O nome do arquivo corresponde ao padrão do shell. Os metacaracteres não tratam /' or .' especialmente; assim, por exemplo,

  find . -path "./sr*sc"

imprimirá uma entrada para um diretório chamado ./src/misc(se existir).

Como posso fazer com que corresponda apenas aos arquivos no diretório atual? Preciso de outra ferramenta para este trabalho?

Editar. Como sugerido aqui estão alguns detalhes. Para fazer este trabalho existem -maxdepthe -regexpara uso. No entanto, em aplicações reais, o caminho pode ser uma variável em vez de uma simples constante aqui, onde -maxdepthnão funcionará bem e -regexpode parecer um exagero. Então, eu gostaria de saber se existe uma solução simples findpara fazê-lo respeitar a barra. Abaixo está o rsync doc descrevendo seu comportamento que é muito próximo do que eu quero.

Atualmente a melhor solução é usar regex, mas se você souber de algo que possa torná-lo mais simples, seria bem-vindo.


Como exemplo do que eu quero, aqui está a regra do padrão rsync:

  • um '*' corresponde a qualquer componente de caminho, mas para nas barras.

  • use '**' para corresponder a qualquer coisa, incluindo barras.

find
  • 3 respostas
  • 173 Views
Martin Hope
Cyker
Asked: 2018-07-31 06:55:14 +0800 CST

Como eliminar os avisos: mockbuild não existe

  • 4

Eu estava construindo um pacote do SRPM no Fedora:

$ rpmbuild --rebuild *.src.rpm

...
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
...

O pacote foi construído, mas havia muitos desses mockbuild does not existavisos. Não parece haver tal conta no meu sistema, mesmo que eu tenha o pacote mockinstalado. Existem outros pacotes que estou perdendo? Isso é uma falha no pacote ou no meu sistema? Como eliminar esses avisos?

fedora rpm
  • 2 respostas
  • 9447 Views
Martin Hope
Cyker
Asked: 2018-07-30 01:15:10 +0800 CST

Forçar alocação de PTY em ssh_config

  • 2

Para executar programas interativos remotamente, deve-se usar ssh -t <host>. Mas esta -topção também tem desvantagens, então não é bom usá-la em programas não interativos.

Meu problema é: tenho várias máquinas. Alguns deles são para programas interativos e outros para não interativos. Então eu devo lembrar exatamente quais precisam -t. É possível adicionar isso ~/.ssh/configpara que eu não tenha que lembrar?

Basicamente o que eu quero é isso:

Host interactive
    HostName example.com
    User user
    Option "-t"
ssh ssh-config
  • 1 respostas
  • 1574 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