Perguntas com a marcação «shell»

51
Escreva o stdout do Python no arquivo imediatamente

Ao tentar gravar o stdout de um script Python em um arquivo de texto ( python script.py > log), o arquivo de texto é criado quando o comando é iniciado, mas o conteúdo real não é gravado até que o script Python seja concluído. Por exemplo: script.py: import time for i in range(10):...

51
$ () É um subshell?

Eu entendo a sintaxe do subshell (<commands...>), é $()apenas um subshell do qual você pode recuperar valores variáveis? Nota: Isso se aplica ao bash 4.4 com base em palavras diferentes na

51
Por que é '.' um link rígido no Unix?

Eu já vi muitas explicações sobre por que o número de links para um diretório vazio nos sistemas operacionais baseados em Unix é 2 em vez de 1. Todos dizem que é por causa do '.' diretório, que todo diretório aponta para si mesmo. Eu entendo por que ter algum conceito de '.' é útil para especificar...

50
Como exatamente “/ bin / [” funciona?

Sempre fico surpreso que na pasta /binexista um [programa. É assim que se chama quando estamos fazendo algo como if [ something ]:? Ao chamar o [programa explicitamente em um shell, ele solicita uma correspondência ]e, quando eu forneço o colchete de fechamento, ele parece não fazer nada, não...

49
Fechando um descritor de arquivo,> & - vs <& -

No tutorial do bash que estou lendo, ele diz que se você abrir um descritor de arquivo para leitura, ou seja, exec 3< echolist Então você deve fechá-lo assim, exec 3<&- No entanto, se você abrir um descritor de arquivo para gravação, ele deverá ser fechado assim: exec 3>&- No...

48
Por que (saída 1) não sai do script?

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

48
Remova entradas duplicadas $ PATH com o comando awk

Estou tentando escrever uma função de shell bash que me permita remover cópias duplicadas de diretórios da minha variável de ambiente PATH. Disseram-me que é possível conseguir isso com um comando de uma linha usando o awkcomando, mas não consigo descobrir como fazê-lo. Alguém sabe...