Leon schrieb:
> Hallo,
> ich hätte eine Frage zu einem Python Projekt. Ich habe ein Python
> Projekt auf einem unix Server, in welchem ich einen Parameter mitgebe
> Bsp.:
>
> ./mein_Projekt Hallo
> print("Hallo")
> ./mein_Projekt Tschüss
Hmm, Umlaute in Kommandozeilen-Optionen. Kann man machen, kann man sich
je nach Locale später auch drüber ärgern.
> Es gibt auf Unix Ja diese Autovervollständigung,
Nicht Unix (oder Linux). Das ist eine Eigenschaft der jeweiligen Shell.
Manche alten Shells können es gar nicht. Die weit verbreitete bash kann
es.
> Meine frage währe jetzt, ob ich so etwas für meine Parameter machen
> kann, obwohl diese nicht als Datei bestehen?
Lade folgendes in die bash (ich konnte mich nicht überwinden den Umlaut
zu nehmen):1 | complete -W "Hallo Tschuess" mein_Projekt
|
Das ist eine der simpelsten Arten eine Autocompletion zu definieren.
"complete" kann einiges mehr.
Noch ein paar Anmerkungen:
So eine Kombination aus Unterstrich und Kamelhöcker-Notation vermeidet
man in jeder Programmiersprache, auch in Shell-Scripten. In
Shell-Skripten vermeidet man sogar beides einzeln. Die "natürliche"
Schreibweise auf Unix/Linux-Systemen ist durchgehend Kleinschreibung.
Keine Kamelhöcker.
Meist, auch wenn es hässlich ist, schreibt man alles zusammen. Also
Wenn das zu hässlich aussieht, dann eine Trennung durch '-', nicht '_',
weil man für das '-' keine Shift-Taste drücken muss:
Programmnamen mit '_' findet man zwar auch in den offiziellen
Distributionen, aber daran erkennt man, dass mal wieder ein paar
Skript-Kiddies am Werk waren.
Zu Umlauten habe ich schon was gesagt. Wenn immer es geht Programmname,
Optionen und Flags in 7-Bit ASCII.
Das gilt nicht für Parameter. Da hat man keine Kontrolle drüber. Wenn
jemand in einer Latin-1 oder z.B. Unicode-Locale einem Programm einen
Parameter wie "Gehäuseübergröße.txt" mitgeben möchte dann kann man das
nicht verhindern.