Hallo Allerseits, ja, Hugo, das ging zunächst versehentlich nur an Dich, also hier noch mal an die Liste: Am 03.11.18 um 18:39 schrieb Hugo:
Am Samstag, 3. November 2018, 14:03:23 CET schrieb Alex Winzer:
On 03.11.2018 12:11, Dr. Jürgen Vollmer wrote: Wenn ich z.B. folgende mount points habe:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 16G 9.7G 5.2G 65% / /dev/sdb2 28G 13G 14G 48% /home /dev/sdb3 376G 356G 19G 96% /home/Daten1 /dev/sdb4 376G 234G 141G 63% /mount/Daten2 /dev/sdb5 65G 37G 28G 58% /Daten3
/ ├───/Daten3 │ └───/Skript │ └───mein_Skript.sh ├───/home │ └───/Daten1 │ └───/Skript │ └───mein_Skript.sh └───/mount └───/Daten2 └───/Skript └───mein_Skript.sh
Dann möchte ich je nach "Standort" des Skriptes beim Aufruf von z.B. "/mount/Daten2/Skript/mein_Skript.sh" als Ergebnis "/mount/Daten2" erhalten.
sorry, ich habe die Diskussion nicht wirklich verfolgt. Aber wenn Du in dem Skript die Variable $0 abfragst, erhältst Du doch (fast) genau das, was Du da haben willst. Wenn Dein Skript auf jeder Platte in <Stammverzeichnis>/Skript/mein_Skript.sh liegt, darfst Du gerne die letzten 20 Zeichen (oder so, ich habe nicht gezählt) entfernen und hast was Du suchst. Ich verstehe irgendwie das Problem nicht ganz. Was daran ist falsch? Gruß Jan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 04.11.2018 um 15:38 schrieb Jan Handwerker:
Hallo Allerseits,
ja, Hugo, das ging zunächst versehentlich nur an Dich, also hier noch mal an die Liste:
Am 03.11.18 um 18:39 schrieb Hugo:
Am Samstag, 3. November 2018, 14:03:23 CET schrieb Alex Winzer:
On 03.11.2018 12:11, Dr. Jürgen Vollmer wrote: Wenn ich z.B. folgende mount points habe:
Filesystem Size Used Avail Use% Mounted on /dev/sda1 16G 9.7G 5.2G 65% / /dev/sdb2 28G 13G 14G 48% /home /dev/sdb3 376G 356G 19G 96% /home/Daten1 /dev/sdb4 376G 234G 141G 63% /mount/Daten2 /dev/sdb5 65G 37G 28G 58% /Daten3
/ ├───/Daten3 │ └───/Skript │ └───mein_Skript.sh ├───/home │ └───/Daten1 │ └───/Skript │ └───mein_Skript.sh └───/mount └───/Daten2 └───/Skript └───mein_Skript.sh
Dann möchte ich je nach "Standort" des Skriptes beim Aufruf von z.B. "/mount/Daten2/Skript/mein_Skript.sh" als Ergebnis "/mount/Daten2" erhalten.
sorry, ich habe die Diskussion nicht wirklich verfolgt. Aber wenn Du in dem Skript die Variable $0 abfragst, erhältst Du doch (fast) genau das, was Du da haben willst.
Wenn Dein Skript auf jeder Platte in <Stammverzeichnis>/Skript/mein_Skript.sh liegt, darfst Du gerne die letzten 20 Zeichen (oder so, ich habe nicht gezählt) entfernen und hast was Du suchst. Ich verstehe irgendwie das Problem nicht ganz. Was daran ist falsch? ^^ Da bist Du nicht alleine
Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am Sonntag, 4. November 2018, 15:38:36 schrieb Jan Handwerker:
Wenn Dein Skript auf jeder Platte in <Stammverzeichnis>/Skript/mein_Skript.sh liegt, darfst Du gerne die letzten 20 Zeichen (oder so, ich habe nicht gezählt) entfernen und hast was Du suchst. Ich verstehe irgendwie das Problem nicht ganz. Was daran ist falsch?
Eventuell wird noch dirname aus den coreutils gesucht : Aufruf: dirname [OPTION] NAME... NAME ohne die letzte /Komponente ausgeben; enthält der NAME keine /, wird „.“ (= aktuelles Verzeichnis) ausgegeben. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Markus, hallo Liste, Am 04.11.18 um 20:09 schrieb Markus Koßmann:
Am Sonntag, 4. November 2018, 15:38:36 schrieb Jan Handwerker:
Wenn Dein Skript auf jeder Platte in <Stammverzeichnis>/Skript/mein_Skript.sh liegt, darfst Du gerne die letzten 20 Zeichen (oder so, ich habe nicht gezählt) entfernen und hast was Du suchst. Ich verstehe irgendwie das Problem nicht ganz. Was daran ist falsch?
Eventuell wird noch dirname aus den coreutils gesucht : Aufruf: dirname [OPTION] NAME... NAME ohne die letzte /Komponente ausgeben; enthält der NAME keine /, wird „.“ (= aktuelles Verzeichnis) ausgegeben.
jetzt noch im Klugscheißer-Mode: Es ist nicht nötig, dirname aufzurufen. Das gleiche Ergebnis erhält man in der Bash durch geeignete Parameterexpansion: echo ${0%/*} Der Vorteil von dirname ist, dass man das Programm leichter lesen kann. Der Vorteil der Parameterexpansion ist, dass nicht erst ein neues Programm geladen werden muss und Daten ausgetauscht werden, sondern die Bash das intern erledigt. Gruß Jan -- _________________________________________________________________ Jan Handwerker http://www.imk-tro.kit.edu/jan.handwerker.php
participants (4)
-
Handwerker, Jan (IMK)
-
Jan Handwerker
-
Manfred Kreisl
-
Markus Koßmann