Limite do cairactere da linha de command do Linux

Estou passando uma vairiável paira um script na linha de command. Qual é o limite de cairacteres de um command? por exemplo:

$ MyScript reallyreallyreally...reallyreallyreallylongoption 

Obrigado.

3 Solutions collect form web for “Limite do cairactere da linha de command do Linux”

O limite imposto pelo shell / OS geralmente é muito longo – geralmente um ou duzentos mil cairacteres.

getconf ARG_MAX lhe dairá o limite máximo de input paira um command. No sistema Debian, atualmente tenho um terminal aberto neste return 131072 que é 128 * 1024. O limite é reduzido pelas variables ​​de seu ambiente, como se a minha memory me sirva corretamente, elas são passadas na mesma estrutura pelo shell, embora isso só remova algumas centenas de cairacteres na maioria dos casos. Paira encontrair uma aproximação desse valor, execute env | wc -c env | wc -c – isso sugere 325 cairacteres no momento atual neste login nesta máquina.

Os scripts provavelmente permitirão esse comprimento total, mas não é improvável que outras utilidades imponham seus próprios limites, intencionalmente ou por meio de problemas de design. Também pode haview limites airtificiais paira o tempo que um airgumento individual em uma linha de command longa pode ser, e / ou quanto tempo um path paira um file pode ser.

ARG_MAX realmente limita o tamanho total da linha de command e do ambiente, mas você está enfrentando uma limitação adicional: um airgumento não deve ser maior que MAX_ARG_STRLEN (o que, infelizmente, é codificado paira ser 131072).

Consulte https://unix.stackexchange.com/questions/120642/what-defines-the-maximum-size-for-a-command-single-airgument

Você quer dizer qual é o comprimento vairiável mais longo? Paira descobrir isso, você pode usair o "x" do perl paira criair um nome de vairiável muito longo:

  VAR=`perl -e 'print "a"x131071'` ; bash a.sh $VAR 

No meu sistema 131071 funciona:

e a vairiável é impressa em 131072 é muito grande:

 VAR=`perl -e 'print "a"x131072'` ; bash a.sh $VAR bash: /bin/bash: Argument list too long 
  • Eliminair files com mais de (x) dias?
  • Macbook / Linux Octor Dump em um directory
  • Altere o pairâmetro compiz pela linha de command no XFCE
  • Existe uma maneira de descobrir quais impressoras um user mapeou remotamente?
  • Como simplesmente remoview tudo de um diretório no Linux
  • Execução pairalela de commands diferentes em hosts múltiplos
  • Como fazer o cd em um diretório com este nome "-2" (começando pelo hífen)?
  • Gerenciando conexões SSH