だから私はこれを理解するのに苦労しています。
私がやろうとしているのは、最後に入力されたコマンドを表示することです
これを例として使用しましょう。
MD5=$(cat $DICT | head -1 | tail -1 | md5sum)
このコマンドは実行されたばかりです。これは、シェル スクリプト内に含まれています。実行後、出力は if..then..else.. ステートメントでチェックされます。条件が満たされた場合は、上記のコマンドを実行する必要がありますが、実行するたびに 1 ずつインクリメントする必要があります。例えば:
MD5=$(cat $DICT | head -1 | tail -1 | md5sum)
if test ! $MD5=$HASH #$HASH is a user defined MD5Hash, it is checking if $MD5 does NOT equal the user's $HASH
then #one liner to display the history, to display the most recent
"MD5=$(cat $DICT | head -1 | tail -1 | md5sum)" #pipe it to remove the column count, then increment the "head -1" to "head -2"
else echo "The hash is the same."
fi #I also need this if..then..else statement to run, until the "else" condition is met.
誰でも助けてもらえますか、ありがとう。私は脳のおならをしています。sedまたはawkを使用してインクリメントすることを考えていました。grep で最新のコマンドを表示し、
だから、言って:
$ history 3
出力します:
1 MD5=$(cat $DICT | head -1 | tail -1 | md5sum)
2 test ! $MD5=$HASH
3 history 3
-
$ history 3 | grep MD5
出力します:
1 MD5=$(cat $DICT | head -1 | tail -1 | md5sum)
ここで、1 を削除し、head の値に 1 を追加して、そのコマンドを再実行します。そして、if..then..else テストを介してそのコマンドを送り返します。