[bash] Pad van script opvragen

Pagina: 1
Acties:

  • WildernessChild
  • Registratie: Februari 2002
  • Niet online

WildernessChild

Voor al uw hersenspinsels

Topicstarter
Het moet toch mogelijk zijn... ik heb een bash-script, en binnen het script wil ik weten in welke directory het staat. Ongeacht op welke manier het wordt aangeroepen:
  1. relatief/pad/mijnscript
  2. /absoluut/pad/mijnscript
  3. source mijnscript
  4. . mijnscript
  5. mijnscript (waarbij de directory die het script bevat dus in $PATH staat)
  6. wat je verder nog kunt bedenken
Ik krijg dit niet voor elkaar... het volgende doet wel iets:
code:
1
BASEPATH=`echo $PWD/$0 | sed 's#\(.*\)/.*#\1#'`/..

maar breekt als de locatie van het script in $PATH staat (geval 5) omdat $PWD dan nergens op slaat...

Is er een manier om dit te fixen?

Maker van Taekwindow; verplaats en resize je vensters met de Alt-toets!


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Bash:
1
2
3
4
# dirname
dirname=`dirname "$file"`
# everything before last '/'
basename=${file%/*}


Googlen op bash + basename

[ Voor 52% gewijzigd door Confusion op 13-07-2006 13:18 ]

Wie trösten wir uns, die Mörder aller Mörder?


  • WildernessChild
  • Registratie: Februari 2002
  • Niet online

WildernessChild

Voor al uw hersenspinsels

Topicstarter
"dirname $0" doet het best aardig! Alleen bij het gebruik van 'source' en '.' (opties 3 en 4) gaat het mis, maar daar kan ik mee leven. Bedankt!

[ Voor 11% gewijzigd door WildernessChild op 13-07-2006 13:35 ]

Maker van Taekwindow; verplaats en resize je vensters met de Alt-toets!