parameterübergabe in linux
x3 19.03.2004 - 10:50 868 5
x3
† 18.03.2006
|
Also mein prob: Ich soll parameter übergeben, wie zb -u oder -l oder -of=datei oder gemischt nur wie finde ich herraus was der user nun eingegeben hat? den mit: int main(int argc, char *argv[]) hab i ja dann nur zahlen tia x3
|
Ringding
Pilot
|
Das hat mit Linux gar nix zu tun.
Geh einfach das argv Array durch, da hast du jeden Parameter aufgelistet.
|
mat
AdministratorLegends never die
|
kA (vl ists in linux wirklich anders) aber wie wärs wenn du das char * array nimmst argv[0] -> 1. argument (ich glaub dass is aber das arbeitsverzeichnis oder so) argv[1] -> 2. argument .. edit: wenn du argv darstellst, wie auch immer, dann bekommst du natürlich eine zahl (speicheradresse) weils ein doppelpointer is -> char **
|
vossi
been there, done that
|
nur wie finde ich herraus was der user nun eingegeben hat? den mit: int main(int argc, char *argv[]) hab i ja dann nur zahlen edit: g0t pwned by mat-the-machine
|
atrox
in fairy dust... I trust!
|
atrox@nexus:~$ ./argv -some option "this is a blank test"
argv[0]: './argv'
argv[1]: '-some'
argv[2]: 'option'
argv[3]: 'this is a blank test'
atrox@nexus:~$ cat argv.c
#include <stdio.h>
int main (int argc, char **argv) {
int i;
for (i=0; i<argc; i++) printf("argv[%d]: '%s'\n",i,argv[i]);
}
|
atrox
in fairy dust... I trust!
|
und gleich ein beispiel für die shell-expansion (was wohl der größte unterschied bei der behandlung von argumenten zwischen dos/win und unix ist): atrox@nexus:~$ ./argv /proc/*
argv[0]: './argv'
argv[1]: '/proc/1'
argv[2]: '/proc/1100'
argv[3]: '/proc/1106'
argv[4]: '/proc/1107'
argv[5]: '/proc/1108'
argv[6]: '/proc/1109'
argv[7]: '/proc/1110'
argv[8]: '/proc/1125'
argv[9]: '/proc/1437'
argv[10]: '/proc/1501'
argv[11]: '/proc/16534'
argv[12]: '/proc/16809'
(...)
argv[92]: '/proc/mounts'
argv[93]: '/proc/mtrr'
argv[94]: '/proc/net'
argv[95]: '/proc/partitions'
argv[96]: '/proc/pci'
argv[97]: '/proc/self'
argv[98]: '/proc/slabinfo'
argv[99]: '/proc/stat'
argv[100]: '/proc/swaps'
argv[101]: '/proc/sys'
argv[102]: '/proc/sysrq-trigger'
argv[103]: '/proc/sysvipc'
argv[104]: '/proc/tty'
argv[105]: '/proc/uptime'
argv[106]: '/proc/version'
|