Maximale Kommandozeilenlänge

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Maximale Kommandozeilenlänge

Beitrag von badera » 03.02.2006 22:34:46

Ich bin gerade am Erstellen eines Konsolenprogrammes, dem man gewisse Eingabedaten übergeben muss. Am Besten wäre einfach per Parameter. Jetzt sollte ich aber wissen, wie lange (wie viele Zeichen) die Befehlszeile überhaupt sein darf; denn je nach dem müsste ich halt an Stelle von Parametern die Daten per STDIN reinnehmen...

Gibt es da eine Limite? - Naja und sonst heisst es einfach ausprobieren, wenn es niemand weiss...
- Adrian

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Re: Maximale Kommandozeilenlänge

Beitrag von cosmac » 04.02.2006 02:13:10

badera hat geschrieben:Gibt es da eine Limite? - Naja und sonst heisst es einfach ausprobieren, wenn es niemand weiss...
Jetzt sei doch nicht so ungeduldig :) Aber ausprobieren könnte länger dauern, bei
meinem Sarge sind es immerhin 128K. Offiziell bekommt man das etwa so raus:

Code: Alles auswählen

#include <stdio.h>
#include <unistd.h>

int
main (void)
{
  printf ("%ld\n", sysconf (_SC_ARG_MAX));
  return 0;
}
Unter "man sysconf" gibt es eine Liste mit viel mehr solchen Infos.

viel Spass!
Beware of programmers who carry screwdrivers.

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 04.02.2006 08:35:51

VIelen Dank!
jetzt sei doch nicht so ungeduldig
:)

Ist es aber nicht eher SC_LINE_MAX? - Naja, ich werde es sehen. Bei mir ist sysconf scheinbar nicht installiert, und apt-cache search sysconf findet auch nichts. Und zur Zeit scheint packages.debian.org down zu sein.

- Adrian

cosmac
Beiträge: 4579
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 04.02.2006 15:33:33

badera hat geschrieben:Ist es aber nicht eher SC_LINE_MAX? - Naja, ich werde es sehen. Bei mir ist sysconf scheinbar nicht installiert, und apt-cache search sysconf findet auch nichts. Und zur Zeit scheint packages.debian.org down zu sein.
na ja, je nachdem was man unter Kommandozeile versteht. ARG_MAX ist das,
was in *argv[] abgeliefert wird, LINE_MAX ist das, was über stdin gelesen wird.

Aber "nicht installiert" kann garnicht sein - sysconf ist eine (g)libc-Funktion
seit 1328 oder so, die Sarge-man-Page ist von 1993-04-18.
- opengroup zum Thema sysconf
- glibc-manual
Beware of programmers who carry screwdrivers.

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 04.02.2006 18:56:21

Code: Alles auswählen

server:~# man sysconf
No manual entry for sysconf
server:~#
Hmm, muss wohl mal gucken, woran das liegt...

Aber danke für die Antwort!!
- Adrian

thomas_t
Beiträge: 183
Registriert: 09.06.2003 09:29:37

Beitrag von thomas_t » 04.02.2006 19:02:00

Die Manpage ist im Paket manpages-dev.

Gruß, Thomas

Antworten