「$?」を使用する場合のbashスクリプトの式

「$?」を使用する場合のbashスクリプトの式

単純なbashスクリプトを書いています。

#!/bin/bash

ls xyzzy.345 > /dev/null 2>&1
status =' echo $?'
echo "status is $status"

ファイルを探してxyzzy.345結果をに記録します/dev/null。ただし、その行については、 status =' echo $?'次のエラーが発生します。

status: Unknown job: = echo $?

しかし、echo $?端末では認識されます。

誰でも私を助けることができますか?私のオペレーティングシステムはUbuntu 12.04 LTSです。

ベストアンサー1

statusとの間に余分なスペースがあります=。吹く変数の割り当て名前と記号の間にスペースは必要ありません=

status='echo $?'

あなたが書いているのは、status単一の引数でコマンドを呼び出すことです=' echo $?'


要約すると、あなたが書きたいものは次のとおりです。

status=$?

値を変数$?に保存します。status

実際のコードが少し複雑で、コマンドを実行して値を保存するには、次のいずれかの方法を使用します。

status=`echo "$?"`
status=$(echo "$?")

これらは使用コマンドの置き換えコマンド出力にアクセスします。

おすすめ記事