#!/bin/bash
# exitlab
#
# example of exit status
# check for non-existent file
# exit status will be 2
# create file and check it
# exit status will be 0
#
ls xyzzy.345 > /dev/null 2>&1
status='echo $?'
echo "status is $status"
# create the file and check again
# status will not be 0
touch xyzzy.345
ls xyzzy.345 > /dev/null 2>&1
status='echo $?'
echo "status is $status"
#remove the file
rm xyzzy.345
edx.org hat ein Lab und das ist das Skript. Wenn ich es laufen, ist die Ausgabe wie folgt:Bash Exit Code Status Skript Fehler
status is echo $?
status is echo $?
ich glaube, das ausgegeben werden soll, entweder 0 oder 2 Ich habe versucht Klammern wie status='(echo $?)
setzen, aber das führt zu status is echo $?
. Dann habe ich versucht, Klammern außerhalb der einfachen Anführungszeichen status=('echo $?')
zu setzen, aber dies gab mir die gleiche Ausgabe status is echo $?
.
Irgendwelche Ideen?
Ich würde verwenden 'echo "Status" $' oder 'stt = $ ?; echo "status is" $ stt' –