so prueft man ob ein binary da ist bzw. wenn am system, am vermuteten platz nach FHS. Im script verw. du dann nicht tar sondern $exe_tar.
Code: Alles auswählen
[[ -x $(which tar) ]] && exe_tar=$(which tar) || echo "Error: Cannot find/execute tar"
ob deine device nodes auch device nodes sind und ob and den pfaden wo du denks das sie sind, diese auch sind geht dann in etwa so
Code: Alles auswählen
[[ -e $path_to_dev_node && -b $path_to_dev_node ]] || echo "Error: blabla"
damit du auf der bash extended test verw. kannst setzt du
am anfang vom script, gleich nach
was dir deine Fehler zeigen wird da jede line wie sie die bash sieht ausgegben wird
Wenn du dann diese basic tests im script hast, muessen korrecte exit values hinein z.B. gibt ein script bei erfolg immer 0 zurueck
Code: Alles auswählen
#_ . exit codes
# http://tldp.org/LDP/abs/html/exitcodes.html#EXITCODESREF
# 0 Successful execution
# 1 Catchall for general errors
# 2 Misuse of shell builtins (according to Bash documentation)
# 64 command line usage error
# 65 data format error
# 66 cannot open input
# 67 addressee unknown
# 68 host name unknown
# 69 service unavailable
# 70 internal software error
# 71 system error (e.g., can't fork)
# 72 critical OS file missing
# 73 can't create (user) output file
# 74 input/output error
# 75 temp failure; user is invited to retry
# 76 remote error in protocol
# 77 permission denied
# 78 configuration error
# 126 Command invoked cannot execute
# 127 "command not found"
# 128 Invalid argument to exit
# 128+n Fatal error signal "n"
# 130 Script terminated by Control-C
# >255 Exit status out of range
aja, dein script ist auf Deutsch, auch nicht gut. Sollte Englisch sein. Jeder der mal ein script vom schwedischen Kollegen, in Landssprache geschrieben, vor sich hatte ...