[lug-ld] S) cd <..> != cd <..>
Pahle Heinz
heinz.pahle at gmx.de
Do Okt 13 21:53:01 CEST 2022
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
Mehr Informationen über die Mailingliste lug-ld