章7.3 ジョブ制御変数存在するバッシュリファレンスマニュアル変数は次のように記述されますauto_resume
。
auto_resume
この変数は、シェルがユーザーおよびジョブ制御と対話する方法を制御します。この変数が設定されている場合、リダイレクトのない単一の単語単純コマンドは、既存の停止操作を再開するための候補と見なされます。あいまいさは許可されません。入力された文字列で始まるジョブが複数ある場合は、最後にアクセスしたジョブが選択されます。この場合、停止したジョブの名前は、そのジョブを開始するために使用されたコマンドラインです。
この値に設定すると
exact
、指定された文字列は、停止したジョブの名前と正確に一致する必要があります。substring
、指定された文字列は、停止したジョブ名の部分文字列と一致する必要があります。このsubstring
値は、%?
ジョブ識別子と同様の機能を提供します(ジョブ制御の基本を参照)。に設定した場合その他の値、指定された文字列は、停止したジョブ名の接頭辞でなければなりません。これは、
%string
ジョブ識別子と同様の機能を提供します。
この機能の目的と歴史は何ですか?
この機能が実際に役立つユースケースはありますか?
答え1
この機能が実際に役立つユースケースはありますか?
<説明>
まさか。%
入力するのはあまりにも怠惰な人のためです%?
:
$ sleep 3600
^Z
[1]+ Stopped sleep 3600
$ %s
sleep 3600
^Z
[1]+ Stopped sleep 3600
$ s
bash: s: command not found
$ auto_resume=ON
$ s
sleep 3600
^Z
[1]+ Stopped sleep 3600
したがって、ジョブを再開するために代わりにsleep ...
使用できます。何が大変なのか。s
%s
実際には、タイピングを実行するのではなくss
バックグラウンドで再度実行できるため、面倒です。ssh
ss
注文する。
興味深い事実:andの特別な点auto_resume
は、histchars
bashが特別な意味を与える唯一の小文字変数であることです。