今日は、Macでコマンドを見た:私は、タッチコマンドを使用することを知っているがどうしますか?:2はMacまたはLinuxの意味ですか?
touch !!:2/{f1.txt, f2.txt}
を何!!:2は、このコマンドで行います。私はMacを持っていないし、Linuxで試してみました。誰かがこのような表現をもっと説明できるなら、それは素晴らしいことでしょう。
今日は、Macでコマンドを見た:私は、タッチコマンドを使用することを知っているがどうしますか?:2はMacまたはLinuxの意味ですか?
touch !!:2/{f1.txt, f2.txt}
を何!!:2は、このコマンドで行います。私はMacを持っていないし、Linuxで試してみました。誰かがこのような表現をもっと説明できるなら、それは素晴らしいことでしょう。
touch
アップデートファイルのタイムスタンプ
!!
は、このフォーム(2つの感嘆ドット)、「の別名で、bashの履歴ログから前のコマンドを取得し、「歴史展開」操作です! - 1 '
:2
は、2番目のコマンド引数を検索する単語指定子です。例えば。以前の履歴コマンドがls -l /tmp
の場合、!!:2
は '/ tmp'にレンダリングされます
{f1.txt,f2.txt}
は「ブレース拡張」と呼ばれます。ブレースの拡張には、エスケープされていない空白を含まない単一の単語列が必要です(これは間違いなく問題の誤植です)。例えば、foo{bar,baz}
は、だから、 'foobarというのfoobaz'
に展開されますさて、touch !!:2/{f1.txt,f2.txt}
はあなたがタイトルに尋ねる
touch /tmp/f1.txt /tmp/f2.txt
https://tiswww.case.edu/php/chet/bash/bashref.html
!!前のコマンドを参照します。これは '!-1'の同義語です。
:2は2番目の引数を示します。例えばので
:
echo "content" > foo
cp foo bar
cat !!:2
バーの内容を表示し
。 !!:2は前のコマンドの2番目の引数です。 あなたの例はどれですか?
(引数与えられていない現在の時間に、)
表現が生成されます、我々はbashコマンド
を実行するのが前提としてみましょう体内のものとは異なります。両方について尋ねたいのであれば、おそらく両方が身体にあるはずです。 – jww
@jwwそれはタイプミスでしたが、今では両方に特別な意味があることがわかりました –
[中括拡張](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html) '{f1.txt、f2.txt}'はコンマの後のスペースのために展開されません。それはコマンドが書かれた方法ですか?おそらく間違いです。 – dawg