Frage zu Script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Frage zu Script

Beitrag von OldGod78 » 14.05.2016 22:48:35

Hallo. Ich habe ein Script, wo das hier vorkommt:

Code: Alles auswählen

			*)
				cd ${answer2}
ich will, dass wenn man z.B. /home/USER/ordner1 eingibt, cd /home/USER/ ausgeführt wird, also immer 1 Ordner vor dem, was die Eingabe ist.

nun die Frage: wie mache ich das?? am besten, dass eine neue Variable erstellet wird, mit der Eingabe und halt den letzten Ordner nicht.

danke für Ideen :)

TomL

Re: Frage zu Script

Beitrag von TomL » 14.05.2016 23:04:33

Code: Alles auswählen

#!/bin/bash

fullpath="/etc/systemd/network/eth0.network"

echo "fp: "$fullpath
echo "bn: "`basename $fullpath`
echo "dn: "`dirname $fullpath`

pathname=`dirname $fullpath`
echo "pn: "$pathname

cd $pathname
pwd
Zuletzt geändert von TomL am 14.05.2016 23:17:31, insgesamt 2-mal geändert.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: Frage zu Script

Beitrag von OldGod78 » 14.05.2016 23:10:24

Danke!

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Frage zu Script

Beitrag von Cae » 14.05.2016 23:27:01

Code: Alles auswählen

$ dirname /irgend/ein/pfad/
/irgend/ein
$ dirname /irgend/ein/pfad
/irgend/ein
$ a=/irgend/ein/pfad/; echo ${a%/*}
/irgend/ein/pfad
$ a=/irgend/ein/pfad; echo ${a%/*}
/irgend/ein
$ 
dirname(1) ist also wohl empfehlenswerter.

Gruss Cae

--edit: hups, dieses Browsertab hat die Zeit verschlafen, die Antwort oben war schon vollumfassend.
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Antworten