私はPostgresコンソールコマンドcreatedb appname_production_master
を持っています。この名前のデータベースがすでに存在する場合、エラー終了コードを返します。linuxのコマンド終了コードを無視する
このコマンドで終了コードを返さないようにすることはできますか?
私はPostgresコンソールコマンドcreatedb appname_production_master
を持っています。この名前のデータベースがすでに存在する場合、エラー終了コードを返します。linuxのコマンド終了コードを無視する
このコマンドで終了コードを返さないようにすることはできますか?
終了コードを無視してください(例:this)。
createdb appname_production_master || true
UNIXコマンドは常に終了コードを返しますが、終了コードに応答する必要はありません。
コマンドを実行すると、$?
にプロセスの終了コードが設定されます。これはすべてのコマンドで発生するため、最初のコマンドの後に別のコマンドを実行すると、$?
が変更されます。ここで
createdb appname_production_master # returns 1, a failure code
# $? is 1
/bin/true # always returns 0, success
# $? is 0
は別の例です:たとえば
/bin/false # returns false, I assume usually 1
echo $? # outputs 1
echo $? # outputs 0, last echo command succeeded
は厳密に言えば、これは、終了コードを無視していませんが、それは常に成功表現でそれを使用しています。 –
"<> ||:"コロンは常に成功するヌルコマンドです –
killthrush