{"id":299,"date":"2018-07-29T08:30:09","date_gmt":"2018-07-29T07:30:09","guid":{"rendered":"https:\/\/ulrich-schulte.net\/?p=299"},"modified":"2018-07-29T08:34:13","modified_gmt":"2018-07-29T07:34:13","slug":"bash-tee-und-dollar-der-korrekte-umgang-mit-dollar","status":"publish","type":"post","link":"https:\/\/ulrich-schulte.net\/?p=299","title":{"rendered":"Bash, tee und $?:  Der korrekte Umgang mit $?"},"content":{"rendered":"<p>Beim Ausf\u00fchren von Unix-Scripten muss man oft auf den R\u00fcckgabecode $? von Anwendungen reagieren. Also fragt man diesen mit if ab.<\/p>\n<p>Oft ben\u00f6tigt man dann noch ein Log von der Ausgabe des Kommandos. Also wird die Ausgabe umgelenkt in eine Datei. M\u00f6chte man diese Ausgabe dann auch noch sofort sehen, verwendet man den Befehl tee.<\/p>\n<p>Und genau hier beginnt nun das Problem:<\/p>\n<p>Wenn man mit $? den Returncode abfragt, erh\u00e4lt man nicht den Returncode des ausgef\u00fchrten Programmes sondern den Returncode von tee!<\/p>\n<p>L\u00f6sung:<\/p>\n<p>Setzen der pipefail-Option im jeweiligen Shell-Skript<\/p>\n<p>set -o pipefail<\/p>\n<p>bevor die gew\u00fcnschte Anwendung gestartet wird.<\/p>\n<p>Quelle: <a href=\"https:\/\/stackoverflow.com\/questions\/1221833\/pipe-output-and-capture-exit-status-in-bash\">Stackoverflow<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Beim Ausf\u00fchren von Unix-Scripten muss man oft auf den R\u00fcckgabecode $? von Anwendungen reagieren. Also fragt man diesen mit if ab. Oft ben\u00f6tigt man dann noch ein Log von der Ausgabe des Kommandos. Also wird die Ausgabe umgelenkt in eine Datei. M\u00f6chte man diese Ausgabe dann auch noch sofort sehen, verwendet man den Befehl tee. &hellip; <a href=\"https:\/\/ulrich-schulte.net\/?p=299\" class=\"more-link\"><span class=\"screen-reader-text\">Bash, tee und $?:  Der korrekte Umgang mit $?<\/span> weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-299","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8NCNL-4P","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=\/wp\/v2\/posts\/299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=299"}],"version-history":[{"count":2,"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=\/wp\/v2\/posts\/299\/revisions"}],"predecessor-version":[{"id":301,"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=\/wp\/v2\/posts\/299\/revisions\/301"}],"wp:attachment":[{"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ulrich-schulte.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}