最後に実行されたコマンドとオプションを取得し、ファイルに書き込む文字列として保存しようとしています。試してみましたが、fc
次のコマンドのみが提供されます(とにかく私にとっては)。また、入力時に正しいコマンドを提供しようとしましたが、!!:p
関数自体内で動作させることはできないようです。これを完了できますか?
これが起こったことです。arg
私が欲しい文字列です。
#!/bin/bash
foo(){
read HISTNUMVAR < histnum.txt
TEMPHNV=$(fc -l 0 | grep -o '^[0-9]*');
if [ $TEMPHNV -ne $HISTNUMVAR ]; then
arg=$(***last history command here***);
./write_arg_to_file.sh $arg;
fi
echo $TEMPHNV > histnum.txt;
}
このスクリプトは、正しいコマンド履歴を取得するだけでなく、必要なすべての操作を実行します。
ベストアンサー1
よりきちんとした方法があるかもしれませんが、以下を使用して履歴から前のコマンドをインポートできます。
prev=$(fc -ln | tail -2 | head -1)