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

pntshere's questions

Martin Hope
pntshere
Asked: 2018-01-28 21:55:25 +0800 CST

zip apenas o último diretório no caminho [duplicado]

  • 2
Essa pergunta já tem resposta aqui :
Compacte um arquivo sem incluir o diretório pai (1 resposta)
Fechado há 4 anos .

Para fazer backup da raiz do meu documento ( /var/www/html/posso executar):

zip -r ~/backups/all_zipped-$(date +\%F-\%T).zip /var/www/html/

O problema é que dentro do arquivo zip criado, recebo 3 diretórios base em vez de 1:

  1. var.
  2. www.
  3. html.

O estado final desejado é ter apenas 1 diretório base (o último). Neste caso, é claro, html(e seus inodes).

Usando zip -r ~/backups/all_zipped-$(date +\%F-\%T).zip /var/www/html/*(observe o *), não ajudou.

Como compactar o diretório atual sem o caminho completo?

zip
  • 1 respostas
  • 3949 Views
Martin Hope
pntshere
Asked: 2018-01-28 20:09:35 +0800 CST

O fornecimento funciona manualmente, mas falha quando feito a partir do script [duplicado]

  • -2
Esta pergunta já tem respostas aqui :
Diferentes maneiras de executar um script de shell (8 respostas)
Inclua uma função bash no script pai (1 resposta)
Fechado há 4 anos .

Usando curlcomo em:

bash <(curl -s https://raw.githubusercontent.com/user/repo/master/script.sh | tr -d '\r')

Eu executei algum script remoto.

O script remoto inclui os dois aspectos a seguir:

1) O comando:

wget -P ~/myAddons/ https://raw.githubusercontent.com/user/repo/master/appendix.sh

2) um source ~/myAddons/appendix.shcomando:

Este arquivo appendix.shinclui alguns aliases Bash.


O problema

Depois de executar o script remoto, tentei usar alguns aliases de appendix.sh. Nenhum funcionou.

Somente após a execução manual source ~/myAddons/appendix.sh, os aliases funcionaram.

  • Eu verifiquei pelo menos 3 vezes se o comando do script remoto sourcee o comando manual são os mesmos.

A questão

Por que a execução source ~/myAddons/appendix.shdiretamente do script remoto falhou, enquanto manualmente funcionou e qual é a maneira certa de lidar com isso?

bash shell-script
  • 1 respostas
  • 72 Views
Martin Hope
pntshere
Asked: 2018-01-28 10:54:16 +0800 CST

O redirecionamento para um nome de arquivo globbed falha

  • 3

Eu uso o Bash 4.3.48(1) no Ubuntu 16.04 (xenial) com uma pilha LEMP.

Eu tento criar um php.iniarquivo de substituição de forma independente de versão com printf.

1) A operação independente de versão falha:

printf "[PHP]\n post_max_size = 200M\n upload_max_filesize = 200M\n cgi.fix_pathinfo = 0" > /etc/php/*/fpm/zz_overrides.ini

O seguinte erro é dado:

bash: /etc/php/*/zz_overrides.ini: Arquivo ou diretório inexistente

2) A operação gnóstica da versão é bem-sucedida:

printf "[PHP]\n post_max_size = 200M\n upload_max_filesize = 200M\n cgi.fix_pathinfo = 0" > /etc/php/7.0/fpm/zz_overrides.ini

Como você pode ver, ambos são basicamente idênticos, exceto *vs.7.0

  • Não encontrei nenhuma pista sobre esse problema (regex?) em man printf.
  • Pesquisei no Google e não encontrei nada sobre "permitir regex em printf".

Por que a operação independente de versão falha e há algum desvio?

Edit: Se possível, é mais importante para mim usar uma operação de uma linha.

bash shell
  • 1 respostas
  • 519 Views
Martin Hope
pntshere
Asked: 2018-01-27 17:14:12 +0800 CST

De heredocument multilinha para uma herestring uniline, com quebras de linha

  • 2

Eu tenho este heredocument multilinie que desejo traduzir em uma herestring uniline:

cat <<-"PHPCONF" > /etc/php/*/zz_overrides.ini
  [PHP]
  post_max_size = 200M
  upload_max_filesize = 200M
  cgi.fix_pathinfo = 0
PHPCONF

O mais próximo que consegui chegar é o seguinte:

cat >"/etc/php/*/zz_overrides.ini" <<< "[PHP] post_max_size = 200M upload_max_filesize = 200M cgi.fix_pathinfo = 0"

mas não acho que as quebras de linha após cada diretiva sejam possíveis, dado que o resultado final é uma string . Talvez haja alguma maneira "não ortodoxa", afinal?


Tanto o heredoc quanto o herestring visam substituir esta operação sed pesada:

sed -i "s/post_max_size = .M/post_max_size = 200M/ ; s/upload_max_filesize = .M/upload_max_filesize = 200M/ ; s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php/*/fpm/php.ini
bash shell-script
  • 2 respostas
  • 980 Views
Martin Hope
pntshere
Asked: 2018-01-25 14:51:45 +0800 CST

Um substituto para aliases Bash (algo que se comporta basicamente como um alias, mas não é um alias) [duplicado]

  • 1
Esta pergunta já tem respostas aqui :
No Bash, quando alias, quando script e quando escrever uma função? (16 respostas)
Fechado há 4 anos .

Preciso de um substituto A para aliases Bash (algo que se comporta basicamente como um alias, mas não é um alias).

A razão pela qual preciso de tal substituto é porque os scripts não podem utilizar aliases. Ou seja --- um alias funciona bem quando eu o executo manualmente no Bash, mas não funciona quando executado como parte de um script. A solução que conheço é colocar os aliases em um arquivo temporário, mas não quero essa abordagem.

Existe algum atalho de comando substituto/semelhante que eu possa utilizar, algum "alias de próxima geração" (para dar uma metáfora) que se comportará como um alias, mas também será naturalmente acessível para scripts (após a origem do arquivo)?

bash alias
  • 1 respostas
  • 110 Views
Martin Hope
pntshere
Asked: 2017-12-22 03:25:35 +0800 CST

Exibir saída do console 1 ou mais linhas abaixo

  • 2

Quando executo um comando como tail ~/SOMEFILErecebo, por exemplo:

testenv@vps_1:~# tail ~/SOMEFILE
    This is the content of SOMEFILE.

Mas e se eu quiser ter um retorno de carro entre: testenv@vps_1:~#e a saída de:This is the content of SOMEFILE.

Então o resultado final ficaria assim:

testenv@vps_1:~# tail ~/SOMEFILE

    This is the content of SOMEFILE.

Ou isto:

testenv@vps_1:~# tail ~/SOMEFILE


    This is the content of SOMEFILE.

Ou isto:

testenv@vps_1:~# tail ~/SOMEFILE



    This is the content of SOMEFILE.

Nota: O primeiro exemplo mostra uma linha de espaçamento entre as duas partes, o segundo exemplo mostra duas linhas e o terceiro três linhas.

Existe uma maneira de garantir que a tailsaída (ou qualquer outra saída) seja espaçada como mostrei nos exemplos, apenas para este comando específico (não para todos os comandos, é claro), no Bash?

bash command-line
  • 3 respostas
  • 967 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