[lug-ld] S) cd <..> != cd <..>

Jean-Jacques Sarton jj.sarton at t-online.de
Fr Okt 14 10:08:55 CEST 2022


Hallo Heinz,

ein Paar wenige Bemerkungen:

- "kann ich bei Windows einfach "pfadlos""
Es stimmt nicht so.
Sowohl unter Unixoiden wie auch bei Windows gibt es eine Variable
PATH. Diese variable definiert Orte wo ausführbare Dateien sich
befinden.
Windows basiert, bezüglich einige Konzepte, immer noch auf DOS und
deren Unzulänglichkeiten.

- ""Null-Pfad" (so mein Name) mit "./" muss sein"
Es ist kein "Nullpfad" auch unter Windows gibt es relative Pfade
..\dir\datei oder .\datei.

- Wie bereits erwähnt wurde ist die Verwendung der aktuellen Verzeichnis
in der Variable PATH ein Sicherheitsrisiko und fordert den Chaos.

- "shebang die Endung sh oder bash sein könne (wäre fast gleich)"
Unter Unixoiden sind Namen Schall und Rauch,  die Endung ist im Prinzip
egal. Aktuelle Programme verwenden immer mehr ein Suffix um den Dateityp
zu definieren. Durch den inflationäre Anzahl an Dateitypen ist die 
Bestimmung des Typs ein zeitintensive Vorgehensweise (man file).

Mit ein Shebang wir am Anfang des Scripts den zu verwendeten
Interpreter deklariert, es muss nicht unbedingt einer der Shell
(sh (Bourne shell), csh, dash, basd, ...) sein. Es kann auch python
oder awk bzw gawk usw. sein.

KG,

Jean-Jacques

Am 13.10.22 um 21:53 schrieb Pahle Heinz:
> Liebe LUGer,
> 
> händisch mittels Terminal unterwegs - das klappt. Zu viel Tippen nervt
> mich aber. Ich klicke lieber (auch gerne drag & drop), wo immer es geht.
> Aber, großes Pech, es klappt nicht recht mit der Erleichterung, mit
> Scripten nämlich. Daher habe ich 2 Lx-Wissende kontaktiert, die mir
> Lösungen an die Hand gaben. Keine Lösung funktionierte, was jeweils
> bestimmt an mir liegt. Dennoch habe ich einen "heimlichen Verdacht":
> Voraussetzung ist anscheinend irgend ein Insiderwissen (muss doch jeder
> wissen), das einem Systemfremden durchaus unbekannt sein kann.
> Beispiel eines "unterschlagenen Insiderwissens",
> habe ich schon erlebt. Eine Pfadangabe vor einer App ist bei Windows und
> Linux nicht in jedem Fall vergleichbar. Eine App im working-dir (wdir)
> kann ich bei Windows einfach "pfadlos" mit Namen starten (ansonsten
> Pfadangabe vorne dran). Wer bei Linux aber eine App im wdir liegend, so
> wie bei Windows starten will, der wird keinen Aufruf erleben. Der
> "Null-Pfad" (so mein Name) mit "./" muss sein.
> !!! Solches Insiderwissen fällt bei Lern-Texten schon mal locker untern
> Tisch (weiß doch jeder) !!!
> 
> Mein Problem:
> Starte ich per Klick ein Terminal, dann befinde ich mich im wdir
> "/home/meinName". Gebe ich händisch "cd Schreibtisch" ein, dann bin ich
> auch sichtbar (via Pfad) in "/home/meinName/Schreibtisch" gelandet.
> Steigerung:
> Als ersten Schritt in einem Script hätte ich gerne solch einen
> dir-Wechsel. Also von vorn beginnen.
> 1. Zeile mit shebang, wobei ich von einem Spezialisten las, dass bei
> shebang die Endung sh oder bash sein könne (wäre fast gleich).
> Die wichtige Anweisung ist in Zeile 2: "cd /home/meinName/Schreibtisch"
> Anscheinend ist auch die Script-Dateiendung mit oder ohne ".sh" möglich.
> Damit das zu 100%  geht, flugs noch "chmod 777 Scriptname[.sh]".
> 
> Die Scriptdatei legte ich ins wdir "/home/meinName", wohl wissend, dass
> dann zum Aufruf "./Scriptname[.sh]" notwendig ist.
> 
> Mein "Erfolg": Es tut sich nix. Im Terminal stehe ich immer noch da, wo
> ich anfänglich stand.
> 
> Frage:
> Wie wechsle ich also per Script das Verzeichnis was händisch einwandfrei
> geht?
> Wer ahnt nun, welche Banalität (Insiderwissen) in meiner Sache,
> diesselbe verhindert?
> 
> Gruß Heinz
> 
> PS:
> Für Nicht-Pfälzer (Scriptname): hobb(, mach mol) = kleine Aufforderung
> 
> 1) Manuell (problemlos):
> 
> adminlx at LinuxPCmbr:~$ ls -l
> insgesamt 44
> :
> drwxr-xr-x 2 adminlx adminlx  4096 Okt 11 22:47 Downloads
> -rwxrwxrwx 1 adminlx adminlx    97 Okt 10 21:34 hobb.sh
> :
> adminlx at LinuxPCmbr:~$ cd Downloads
> adminlx at LinuxPCmbr:~/Downloads$ ls -l
> insgesamt 0
> adminlx at LinuxPCmbr:~/Downloads$ <---wie erwartet, will ich so
> 
> 
> 2) Script-Lösung (Schuss in den Ofen):
> 
> #!/bin/bash
> echo "Jetzt dir wechseln"
> cd /home/adminlx/Downloads
> echo "pwd zeigt Ergebnis"
> pwd
> --------------------------
> adminlx at LinuxPCmbr:~$ ls -l
> insgesamt 44
> :
> drwxr-xr-x 2 adminlx adminlx  4096 Okt 11 22:47 Downloads
> -rwxrwxrwx 1 adminlx adminlx    97 Okt 10 21:34 hobb.sh
> :
> adminlx at LinuxPCmbr:~$ ./hobb.sh
> Jetzt dir wechseln
> pwd zeigt Ergebnis
> /home/adminlx/Downloads  <-------das ist OK
> adminlx at LinuxPCmbr:~$ ls -l  <---wo ist aber hier das Ziel-dir?
> insgesamt 44
> :
> drwxr-xr-x 2 adminlx adminlx  4096 Okt 11 22:47 Downloads
> -rwxrwxrwx 1 adminlx adminlx    97 Okt 10 21:34 hobb.sh
> :
> adminlx at LinuxPCmbr:~$ cd Downloads <---manuell nochmal
> adminlx at LinuxPCmbr:~/Downloads$  <-----so alles OK
> 
> _______________________________________________
> lug-ld mailing list
> lug-ld at lists.lug-ld.de
> http://lists.lug-ld.de/mailman/listinfo/lug-ld



Mehr Informationen über die Mailingliste lug-ld