kann man den namen eines shell-scripts, das gerade ausgeführt wird, ausdrucken?

Dieses Thema im Forum "Linux OS" wurde erstellt von minipig, 14.08.2007.

  1. #1 minipig, 14.08.2007
    minipig

    minipig Doppel-As

    Dabei seit:
    06.01.2006
    Beiträge:
    129
    Zustimmungen:
    0
    hallo!!

    kann man den namen eines shell-scripts, das gerade ausgeführt wird, ausdrucken?
    ich suche etwas analoges zu '$0', nur eben für das ausgeführte skript,
    nicht für die ausführende shell.
    über hilfe bzw. informationsquellen würde mich sehr freuen.

    vielen dank schon im voraus.

    by minipig ?(?(
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Schneemann, 14.08.2007
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    $0 gibt das momentan ausgeführte Skript aus.
     
  4. #3 z-shell, 14.08.2007
    z-shell

    z-shell Debianator

    Dabei seit:
    30.05.2007
    Beiträge:
    434
    Zustimmungen:
    0
    Ort:
    /home/z-shell
    Und ohne den kompletten Pfad:
    Code:
    basename $0
     
  5. #4 koenigg, 14.08.2007
    koenigg

    koenigg Grünschnabel

    Dabei seit:
    23.07.2007
    Beiträge:
    7
    Zustimmungen:
    0
    Beispiel: test.sh:
    ---------------------------------
    bolnx039:~ # cat test.sh
    echo `basename $0`
    echo $0
    ---------------------------------
    bolnx039:~ # ./test.sh
    test.sh
    ./test.sh
    bolnx039:~ #
    ---------------------------------
    bolnx039:~ # /root/test.sh
    test.sh
    /root/test.sh
    bolnx039:~ #
    ---------------------------------

    Mit und ohne Pfad! Es wird der "Aufruf"-Pfad ausgegeben!!!

    Gruß Günter
     
  6. #5 minipig, 14.08.2007
    minipig

    minipig Doppel-As

    Dabei seit:
    06.01.2006
    Beiträge:
    129
    Zustimmungen:
    0
    hallo!!

    bei mir gibt $0 immer den namen der auführenden shell aus.
    dehalb habe ich ja die mail geschrieben.
    aus meiner .bashrc:
    Code:
    ..
    PS1="\u@\h:\w\##:"
    echo $(whoami): reading $(pwd)/.bashrc
    echo '        ' setting PS1
    echo '$0=' $0
    
    führt zu:

    Code:
    schwein: reading /home/schwein/.bashrc
             setting PS1
    $0= bash
    
    by minipig :(:(

    ps.:
    die daten meines systems:
    distribution: suse 9.3
    kernelversion: 2.6.11.4-20a-default
    plattform:i386
    prozessor:i686
     
  7. NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    Preisfrage: Durch welches "Programm" wird die .bashrc gelesen??
     
  8. #7 koenigg, 14.08.2007
    koenigg

    koenigg Grünschnabel

    Dabei seit:
    23.07.2007
    Beiträge:
    7
    Zustimmungen:
    0
    Hallo,

    das ausführenden Programm ist doch in dem Fall die bash!
    Bei einem externen Script kommt der Scriptname - siehe oben!

    Gruß Günter
     
  9. #8 minipig, 14.08.2007
    minipig

    minipig Doppel-As

    Dabei seit:
    06.01.2006
    Beiträge:
    129
    Zustimmungen:
    0
    was soll das? das will ich doch überhaupt nicht wissen.
    ich denke, sowas kommt nur zustande, wenn nur die letzten beiräge zu einem thema gelesen werden. also nochmal meine ursprüngliche frage:
    also $0 geht nicht. wie kann man sich dann den namen eines shell-scripts ausgeben lassen?
    (.bashrc war nur ein beispiel)

    by minipig X(X(X(
     
  10. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    echo `basename $0`
     
  11. #10 minipig, 14.08.2007
    minipig

    minipig Doppel-As

    Dabei seit:
    06.01.2006
    Beiträge:
    129
    Zustimmungen:
    0
    hilfe!
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. #11 NoXqs, 14.08.2007
    Zuletzt bearbeitet: 14.08.2007
    NoXqs

    NoXqs Routinier

    Dabei seit:
    07.05.2007
    Beiträge:
    420
    Zustimmungen:
    0
    Ort:
    Bremen
    Was das sollte?
    Du solltest einfach nochmal über deine Fragestellung nachdenken.
    Und vielleicht auch versuchen, dir diese Frage zu beantworten.
    Das ist ist nämlich der Schlüssel für dein (Verständnis-)Problem.

    In der .bashrc die Variable $0 auszugeben macht doch überhaupt keinen Sinn, weil die Variable $0 beim Aufruf der .bashrc IMMER die bash ist.
    Das läßt sich zwar ändern, aber ich erspare mir hier dir das zu beschreiben.
    Hat etwas mit dem Shell-Eintrag in der passwd zu tun und einem Link im $HOME. (bleibt aber dennoch immer eine Shell)

    Du hast genug Hinweise hier bekommen, wie man das aufrufende Script mit der Variablen $0 oder 'basename $0' herausbekommt, aber verstehst scheinbar nicht, dass das bei der .bashrc immer die bash ist.
    Egal, ob das nur ein Beispiel ist oder nicht. Erstelle doch einfach mal ein Script und lasse dir darin die Variable $0 (oder [$1] oder $#) ausgeben (wurde hier ja schon gemacht), dann solltest du nicht mehr die bash als Ausgabe bekommen, versprochen!!

    Im Übrigen habe ich alle Beiträge hier gelesen, bei dir bin ich mir damit nicht so sicher, sonst wäre dieser Thread nach einem, maximal zwei Beiträgen, beendet gewesen.
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Oder suchst du $1??

    Ein script (Programm) kann auf der Befehlszeile Argumente oder Optionen mitbekommen.

    Z.B.: rm /tmp/foobar.txt
    in diesem Fall wäre
    $0 = rm
    $1 = /tmp/foobar.txt
     
  14. #12 minipig, 14.08.2007
    minipig

    minipig Doppel-As

    Dabei seit:
    06.01.2006
    Beiträge:
    129
    Zustimmungen:
    0
    ja tätsächlich, bei selbstgeschriebenen skripten geht es.
    hatte wohl eine etwas sehr lange leitung. entschuldigung.

    by minipig
     
Thema:

kann man den namen eines shell-scripts, das gerade ausgeführt wird, ausdrucken?

Die Seite wird geladen...

kann man den namen eines shell-scripts, das gerade ausgeführt wird, ausdrucken? - Ähnliche Themen

  1. Array im Dateinamen wird nicht erkannt

    Array im Dateinamen wird nicht erkannt: Sry das ick schon wieda störe aba ich habe ein kleines Problem. Ich würde gern in einer Datei namens xyz.num6 eine gewisse Zeile ersetzen....
  2. Linux kann keine Umlaute in Dateinamen lesen

    Linux kann keine Umlaute in Dateinamen lesen: Moin :) Ich habe hier ein großes Problem. Meine beiden Linux-Systeme (einmal Kubuntu 8.10 "Hardy" KDE4 - leider noch - und Fedora 9 mit...
  3. wie kann ich Artikelnamen in der Referenzenliste ändern?

    wie kann ich Artikelnamen in der Referenzenliste ändern?: Hallo Leute kann mir jemand helfen? ich habe eine SEHR lange Lieste aus Referenzen. Die sehen so aus: % 0213264 (JID)...
  4. DNS kann nach Ende der ttl hostnamen nicht mehr auflösen

    DNS kann nach Ende der ttl hostnamen nicht mehr auflösen: Hallo an Alle, habe einen dhcp- und dns Server (dhcpd 3 / bind 9) aufgesetzt, der eigentlich auch einwandfrei funktioniert(e). Habe jetzt jedoch...
  5. Kann Benutzernamen nicht eingeben

    Kann Benutzernamen nicht eingeben: Habe mir Suse Linux 10.1 vor ein paar Tagen erst installiert und kenne mich noch nicht so gut aus. :brav: Ich habe Suse Linux und Gnome als...