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 / computer / 问题

Perguntas[shell](computer)

Martin Hope
nyov
Asked: 2025-03-01 03:54:26 +0800 CST

Como capturar o nome do arquivo de download do comando wget ou cURL?

  • 8

Estou tentando descobrir como "capturar" o nome de um arquivo baixado por meio wgetde curlcomandos em um script de shell.

O que eu gostaria (e o que parece impossível) é algo assim:

newfilename=$(wget --content-disposition --trust-server-names --timestamping "${myurl}")
xattr -w user.download.url "${myurl}" "${newfilename}"
chmod 0400 "${newfilename}"
setfacl -m u:lisa:r "${newfilename}"

ou com ondulação:

newfilename=$(curl --continue-at - --compressed --remote-name-all --remote-header-name --remote-time "${myurl}")
xattr -w user.download.url "${myurl}" "${newfilename}"

Agora, por algum motivo, acho que segurança, nenhum comando parece disposto a retornar o nome de arquivo fornecido pelo servidor (caso ele possa conter injeção remota de código)? Mas isso faz pouco sentido para mim quando o mesmo comando está perfeitamente disposto a usar essa string de nome de arquivo remoto para criar um arquivo no disco?

Existe uma maneira de fazer isso, se necessário, por meio de alguma solução alternativa que verifique o diretório de destino de um arquivo criado via inotifywatch?

shell
  • 1 respostas
  • 335 Views
Martin Hope
Putnik
Asked: 2024-12-29 17:27:46 +0800 CST

Como alterar o idioma do menu do console cmd (Terminal do Windows) do Windows 11?

  • 5

Veja as capturas de tela: alguns dos menus estão em japonês e um está em polonês.

Como posso mudar o idioma de todos esses menus para polonês? Tenho um layout de teclado japonês instalado e preciso dele, então "apenas desinstalar" não é uma opção.

insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui

shell
  • 1 respostas
  • 47 Views
Martin Hope
Jounathaen
Asked: 2024-09-25 18:44:16 +0800 CST

Crie uma diferença visual entre duas imagens e sobreponha-a em uma delas usando o Imagemagick

  • 7

Tenho duas imagens (de um esquema) e quero destacar as diferenças em uma delas: esquemático1 esquema2

Usando o imagemagick posso criar a diferença visual e também posso sobrepô-la à segunda imagem:

compare schematic.png schematic-new.png -compose src diff.png
composite -blend 35% diff.png schematic-new.png schematic_diff.png

Isso fornece quase o que eu quero, mas as partes na imagem diff que são as mesmas não são totalmente transparentes, mas têm uma cor acinzentada semitransparente. Também blendnão é a coisa certa a fazer, pois adiciona transparência à imagem base também.

imagem diferente diff no esquema

Então: como posso criar a imagem diff para que as partes não diff fiquem totalmente transparentes e como sobrepô-la corretamente na imagem base (talvez até com transparência personalizada)?

shell
  • 1 respostas
  • 29 Views
Martin Hope
Anthony Naddeo
Asked: 2024-04-28 02:12:03 +0800 CST

Mostrar comandos longos no histórico de peixes (ctrl+r) em múltiplas linhas

  • 6

Estou procurando uma solução para pesquisar o histórico com peixes quando seu histórico está cheio de comandos longos. Muitas vezes tenho comandos curl que contêm cargas json em meu histórico que desejo repetir, por exemplo, e são longos o suficiente para não caberem em uma única linha, o que torna muito difícil diferenciá-los rapidamente . Minha solução atual é digitar mais do que eu quero, mas é muito chato.

histórico de conchas

Existe uma maneira de fazer com que as entradas do histórico apareçam conforme foram executadas, sem reduzi-las a uma única linha? Existe uma solução mais inteligente que não estou pensando em pedir?

shell
  • 2 respostas
  • 51 Views
Martin Hope
NilsK
Asked: 2024-01-24 04:39:01 +0800 CST

Script para instalar o Anaconda e atualizar o conda

  • 5

Quero escrever um script de shell (zsh) que faça o seguinte:

  1. Instala o Anaconda via Homebrew.
  2. Adiciona conda ao PATH no .zshrc.
  3. Atualiza o ambiente base conda.

Eu encontrei a seguinte solução:

# Installing Anaconda
if [ ! -d /opt/homebrew/Caskroom/anaconda ]; then brew install --cask anaconda; fi

# This adds conda to your PATH in .zshrc and makes sure that you can now use conda and activate conda environments
/opt/homebrew/anaconda3/bin/conda init zsh

# Sourcing zshrc
exec zsh

# Update conda base environment
conda update -n base -c defaults conda

O problema é que isso exec zshsubstitui o shell atual, então a atualização do conda não acontece.

Existe uma solução melhor para o problema?

shell
  • 1 respostas
  • 17 Views
Martin Hope
hba
Asked: 2023-12-27 05:33:20 +0800 CST

Como funciona o link simbólico do desligamento para o systemctl?

  • 7
which shutdown

retorna

/usr/bin/shutdown

Eu também tentei sudo which shutdownpor precaução ... mas obtive o mesmo resultado.

Eu posso ver isso

lrwxrwxrwx 1 root root 9 Dec 13 03:38 /usr/bin/shutdown -> systemctl

Também posso fazer algo como (desligar a máquina em 2 horas)

sudo shutdown -h +120

Mas se eu tentar algo bobo como isto:

 sudo systemctl -h +120

Eu recebo um erro...

Quando emito, shutdownestou realmente invocando o /usr/bin/shutdown? Em caso afirmativo, como o link do desligamento para o systemctl realmente funciona?

shell
  • 1 respostas
  • 33 Views
Martin Hope
xdhmoore
Asked: 2023-06-28 20:24:54 +0800 CST

zsh - expressão matemática incorreta: caractere ilegal: ^A - ao tentar ler 0x01 de um arquivo

  • 8

Estou lendo os primeiros quatro bytes de um arquivo binário em zsh. Os primeiros 3 bytes são 0x00e o quarto é 0x01. Eu criei uma matriz desses bytes lendo o arquivo como uma string e, em seguida, dividindo-o e fatiando-o, resultando em:

>  echo -n "${(j::)bytes}" | xxd
00000000: 0000 0001                                ....

e agora estou tentando adicioná-los começando com a extremidade direita (4º byte) usando as potências apropriadas para obter a soma. O problema é que, quando tento usar o 4º byte em uma avaliação aritmética ou uma variável inteira:

integer -i 10 b=${bytes[-1]} # This is the offending line
sum=$((sum + b * (256 ** i)))

Estou tendo o erro a seguir:

 bad math expression: illegal character: ^A

Qual é 0x01.

Como digo ao zsh para interpretar o byte como um número? Eu notei o (#)sinalizador de expansão, que força uma expressão a ser interpretada numericamente e depois como um caractere, mas estou tendo o problema oposto. Parece estar interpretando 0x01como um personagem.

ATUALIZAR:

Desconfio que o problema seja que o tipo do array seja de caracteres (se as coleções zsh tiverem tipos? (s::)) elementos de volta para números inteiros. Eu tentei

b=$(printf '%d' "$bytes[4]")

mas isso me dá um erro semelhante. Eu sou capaz de reproduzir aparentemente através de qualquer um destes:

printf '%d' $'^A'
integer b=$'^A'

onde ^Aé composto pelos dois caracteres literais ^e A.

shell
  • 1 respostas
  • 55 Views
Martin Hope
vim_overlord
Asked: 2023-05-29 13:48:13 +0800 CST

Como deletar todas as ocorrências de uma palavra seguida por outra, sem alterar o espaço em branco?

  • 8

Suponha que meu arquivo se pareça com isto:

foo  bar
 foo    bar bar
foo foo      bar  foo

O que eu quero fazer é excluir todos os fooque são seguidos por um bar(ou seja, há apenas espaços em branco entre eles), sem alterar nenhum espaço em branco. Abaixo, substituí todos os caracteres que devem ser excluídos por sublinhados para deixar isso claro:

___  bar
 ___    bar bar
foo ___      bar  foo

O comando deve resultar no seguinte arquivo:

  bar
     bar bar
foo       bar  foo

Como eu poderia conseguir isso com sed ou awk?

shell
  • 3 respostas
  • 515 Views
Martin Hope
LukeMA82
Asked: 2023-05-21 23:41:42 +0800 CST

Altere o local padrão dos arquivos de cache de conclusão zsh para macOS

  • 6

Estou tentando alterar o local padrão dos arquivos de cache de conclusão zsh no macOS. Eu li a documentação do zsh após a conclusão, que diz "alternativamente, um nome de arquivo explícito pode ser fornecido por 'compinit -d dumpfile'". Eu configurei a variável ZCOMPCACHE e continuei com o seguinte código:

  ZCOMPCACHE="$HOME/.cache/zsh/zcompcache"

# Create the parent directory if it doesn't exist
[[ -d $ZCOMPCACHE ]] || mkdir -p $ZCOMPCACHE

# Set the custom location for zcompdump files
_comp_files=($HOME/.cache/zsh/zcompcache(Nm-20))
if (( $#_comp_files )); then
    compinit -i -C -d "$HOME/.cache/zsh/zcompcache/.zcompdump-${ZSH_VERSION}"
else
    compinit -i -d "$HOME/.cache/zsh/zcompcache/.zcompdump-${ZSH_VERSION}"
fi

# `unset` the temporary variable
unset _comp_files

O código funciona e cria o diretório zcompcache em .cache/zsh e despeja o arquivo de cache nesse local.

Como mostrado aqui: Localização do arquivo de cache

No entanto, ainda estou recebendo um arquivo .zcompdump despejado em meu diretório $HOME, embora eu tenha definido um local específico.

Como mostrado aqui:
.zcompdump no diretório inicial

Eu costumava usar oh-my-zsh, mas achei muito inchado para os meus requisitos. Poderia haver alguma configuração residual da configuração anterior do oh-my-zsh que pode estar causando o .zcompdump adicional em meu diretório $HOME?

shell
  • 1 respostas
  • 235 Views
Martin Hope
Ярослав Рахматуллин
Asked: 2022-12-17 18:01:50 +0800 CST

Por que bash e zsh avaliam [-1] como 1?

  • 5

Eu notei esse comportamento surpreendente e não consigo entender o que está acontecendo:

$ bash -c 'echo [-1]'
1

$ zsh -c 'echo [-1]'
1

Parece que o analisador de comandos tenta avaliar uma expressão:

$ echo [1,2,3]
1
$ echo [123-33]
1

Porque se a expressão estiver entre aspas ou indicar que um colchete é apenas um colchete, a avaliação estranha será omitida.

$ echo \[123-33]
[123-33]

$ echo [123-33\]
[123-33]

$ echo '[123-33]'
[123-33]

Enquanto procurava por pistas, encontrei esta citação:

https://github.com/mvdan/sh

Ressalvas

Ao indexar matrizes associativas Bash, sempre use aspas. Caso contrário, o analisador estático terá que assumir que o índice é uma expressão aritmética.

$ echo '${array[spaced string]}' | shfmt
1:16: not a valid arithmetic operator: string
$ echo '${array[dash-string]}' | shfmt
${array[dash - string]}

Não tenho certeza do que fazer com isso, porque não há matriz para falar no contexto deecho [1-1]

É claro que isso pode ser causado por algo em meu próprio ambiente, mas quando eu verifico, não parece ser:

$ env -i HOME=$(mktemp -d) bash --noprofile --norc
bash-5.1$ echo [1-1]
1

$ env -i HOME=$(mktemp -d) /bin/bash-4.4  --noprofile --norc
bash-4.4-4.4$ echo [1-1]
1

Mas, novamente, em uma caixa ubuntu, obtenho um resultado diferente:

$ bash --version | sed 1q; echo [1-1]
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
[1-1]

Desativar todas as opções não altera esse comportamento.

for i in `shopt | awk '/on$/ { print $1}'`; do shopt -u $i;done

Você tem alguma ideia do que está fazendo com que essa expressão de colchetes seja avaliada e por que o resultado é 1?

bash shell
  • 1 respostas
  • 22 Views

Sidebar

Stats

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

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

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