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 / ubuntu / Perguntas / 1478288
Accepted
ZedZip
ZedZip
Asked: 2023-07-17 22:52:26 +0800 CST2023-07-17 22:52:26 +0800 CST 2023-07-17 22:52:26 +0800 CST

O que está incorreto na linha de comando ZIP?

  • 772

Estou desenvolvendo AWS Lambda (NET6). Durante a execução da ação do Github (build, zip, upload) em um arquivo yml do CloudFormation, recebi o erro:

Run zip -jr customerlambda-356e9e4b8869b2cf7f483d739aa5a8aa34e0fc13.zip -i ./bin/Release/net6.0/publish/*

zip error: Invalid command arguments (nothing to select from)
Error: Process completed with exit code 16.

Está no ambiente mais recente do Ubuntu.

O que está incorreto aqui?

command-line
  • 1 1 respostas
  • 749 Views

1 respostas

  • Voted
  1. Best Answer
    Raffa
    2023-07-17T23:15:34+08:002023-07-17T23:15:34+08:00

    Você parece querer:

    zip -jr customerlambda-356e9e4b8869b2cf7f483d739aa5a8aa34e0fc13.zip \
    ./bin/Release/net6.0/publish/
    

    ou seja, sem -i ... Com a opção -i( include ), você ainda não especificou o caminho para o(s) arquivo(s)/diretório(s) de origem e, portanto, o erro:

    zip error: Invalid command arguments (nothing to select from)
    

    Observe um:

    ./bin/Release/net6.0/publish/parece ser o caminho relativo para onde estão seus arquivos / diretórios de origem, mas adicionar -iantes dele o transformará em um argumento para a -iopção em vez de um argumento para o zippróprio comando ... Portanto, no que zipdiz respeito ao comando, há nenhum argumento de arquivo/diretório de origem ... e você não precisa incluir o conteúdo desse diretório, pois -ia -ropção será recursiva através do conteúdo desse diretório para que você não precise usar *( o que é melhor você escapar com uma barra invertida \*quando usado ) ou ... Então, simplesmente remova -ie *.

    Observe dois:

    A -jopção resultará no ziparmazenamento apenas do(s) nome(s) de um(s) arquivo(s) salvo(s) e não no armazenamento de nomes de diretórios ( ou seja, caminhos relativos ao diretório atual ) ... Isso pode causar um problema quando usado com a -ropção como nomes de arquivos idênticos duplicados pode existir em subdiretórios que serão recursados ​​pelo -rconjunto de opções, o que resultará no ziprecebimento de nomes de arquivos repetidos para armazenar no arquivo, o que não pode ser feito e resultará em um erro como:

    zip error: Invalid command arguments (cannot repeat names in zip file)
    

    Então, você pode não querer usar -jnesse caso.

    Observe três:

    Embora os caminhos relativos na forma de ./subdir/subdir2/e archive.zipfuncionem e sejam analisados ​​em relação ao diretório de trabalho atual, pode ser uma boa ideia em arquivos de script usar o caminho real completo para o arquivo de saída e o(s) diretório(s)/arquivo(s) de origem ) como, por exemplo, se seu diretório de origem for:

    /home/runner/work/PM2AWSCustomers/PM2AWSCustomers/bin/Release/net6.0/publish/
    

    e você deseja que o arquivo compactado resultante seja nomeado customerlambda.zipe salvo em:

    /home/runner/work/PM2AWSCustomers/
    

    então use o zipcomando assim:

    zip -r /home/runner/work/PM2AWSCustomers/customerlambda.zip \
    /home/runner/work/PM2AWSCustomers/PM2AWSCustomers/bin/Release/net6.0/publish/
    

    a barra invertida \é usada para escapar da nova linha usada para fins de redabilidade neste post e fará com que o shell leia o comando como um forro ignorando a nova linha escapada.

    • 6

relate perguntas

Sidebar

Stats

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

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

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