終了コード比較:単項演算子が必要です。

終了コード比較:単項演算子が必要です。

ファイルにgitコミットリストがあり、.txtこのコミットを繰り返したいと思います。各コマンドに対して終了コードをCOMMIT_ID使用して確認したいのはまたはです。git01

私が望む結果に依存しますecho truefalse

ただし、スクリプトを実行すると、次のエラーが発生します。

line 5: [: 0: unary operator expected

スクリプトは次のとおりです。

#!/usr/bin/env bash
input="./commits.txt"
while IFS= read -r COMMIT_ID
do
  if [ 0 -eq $(git merge-base --is-ancestor $COMMIT_ID HEAD) ]; 
    then 
      echo "true"; 
    else 
      echo "false"; 
    fi
done < "$input"

ベストアンサー1

$()終了コードではなく、指定されたコマンドの出力に置き換えます。終了コードを使用するには、次のコマンドを直接使用してくださいif

if git merge-base --is-ancestor "$COMMIT_ID" HEAD; then

おすすめ記事