Wie kann ich den Namen der Bash-Skriptdatei im Skript selbst ermitteln?
Wenn mein Skript zum Beispiel in der Datei runme.sh
Wie kann ich dann dafür sorgen, dass die Meldung "Sie führen runme.sh aus" angezeigt wird, ohne dies fest zu kodieren?
Wie kann ich den Namen der Bash-Skriptdatei im Skript selbst ermitteln?
Wenn mein Skript zum Beispiel in der Datei runme.sh
Wie kann ich dann dafür sorgen, dass die Meldung "Sie führen runme.sh aus" angezeigt wird, ohne dies fest zu kodieren?
Das habe ich mir ausgedacht, inspiriert von Dimitre Radoulow Antwort (den ich übrigens hochgestimmt habe) .
script="$BASH_SOURCE"
[ -z "$BASH_SOURCE" ] && script="$0"
echo "Called $script with $# argument(s)"
unabhängig davon, wie Sie Ihr Skript aufrufen
. path/to/script.sh
o
./path/to/script.sh
DIRECTORY=$(cd `dirname $0` && pwd)
Ich habe die obige Frage von einer anderen Stack Overflow-Frage, Kann ein Bash-Skript sagen, in welchem Verzeichnis es gespeichert ist? aber ich denke, es ist auch für dieses Thema nützlich.
Etwas in dieser Art?
export LC_ALL=en_US.UTF-8
#!/bin/bash
#!/bin/sh
#----------------------------------------------------------------------
start_trash(){
ver="htrash.sh v0.0.4"
$TRASH_DIR # url to trash $MY_USER
$TRASH_SIZE # Show Trash Folder Size
echo "Would you like to empty Trash [y/n]?"
read ans
if [ $ans = y -o $ans = Y -o $ans = yes -o $ans = Yes -o $ans = YES ]
then
echo "'yes'"
cd $TRASH_DIR && $EMPTY_TRASH
fi
if [ $ans = n -o $ans = N -o $ans = no -o $ans = No -o $ans = NO ]
then
echo "'no'"
fi
return $TRUE
}
#-----------------------------------------------------------------------
start_help(){
echo "HELP COMMANDS-----------------------------"
echo "htest www open a homepage "
echo "htest trash empty trash "
return $TRUE
} #end Help
#-----------------------------------------------#
homepage=""
return $TRUE
} #end cpdebtemp
# -Case start
# if no command line arg given
# set val to Unknown
if [ -z $1 ]
then
val="*** Unknown ***"
elif [ -n $1 ]
then
# otherwise make first arg as val
val=$1
fi
# use case statement to make decision for rental
case $val in
"trash") start_trash ;;
"help") start_help ;;
"www") firefox $homepage ;;
*) echo "Sorry, I can not get a $val for you!";;
esac
# Case stop
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
3 Stimmen
Ähnlich [Kann ein Bash-Skript sagen, in welchem Verzeichnis es gespeichert ist?](zu stackoverflow.com/questions/59895/ )
1 Stimmen
Für das Verzeichnis, siehe: Abrufen des Quellverzeichnisses eines Bash-Skripts aus einer .