BashとPowerShell比較(コマンド履歴)

アニメ『巨神ゴーグ』(1984)

当時はこのロボット合体も変形もしないから、何が面白いのかわかりませんでしたが、大人になった今は面白さが分かります。
物語はニューヨークから始まります。80年代ですので、落書きだらけの地下鉄もでてきます。主人公は13歳の少年ですが、一人で地下鉄乗ってます。子供だからよく知らないって設定なんでしょうね。恐ろしいです。地下鉄は今じゃすっかりきれいになってますよね。

今回もBashとPowerShellの比較で、ヒストリーです。

コマンド履歴の表示

Bash

Bashのコマンド履歴はご存じhistoryコマンドです。

takk@ubu16:~$ echo {1..5}
1 2 3 4 5
takk@ubu16:~$ echo {6..10}
6 7 8 9 10
takk@ubu16:~$ echo {11..15}
11 12 13 14 15
takk@ubu16:~$ history
    1  echo {1..5}
    2  echo {6..10}
    3  echo {11..15}
    4  history
takk@ubu16:~$

PowerShell

PowerShellは、hだけでコマンド履歴が表示されます。

PS /home/takk> 1..5
1
2
3
4
5
PS /home/takk> 6..10
6
7
8
9
10
PS /home/takk> 11..15
11
12
13
14
15
PS /home/takk> h

  Id CommandLine
  -- -----------
   1 1..5
   2 6..10
   3 11..15


PS /home/takk>

コマンド履歴のクリア

Bash

takk@ubu16:~$ history -c
takk@ubu16:~$ history
    1  history
takk@ubu16:~$

PowerShell

PS /home/takk> clhy
PS /home/takk> h

  Id CommandLine
  -- -----------
  11 clhy


PS /home/takk>

前回コマンドの再実行

Bash

takk@ubu16:~$ echo 1 2 3 4 5
1 2 3 4 5
takk@ubu16:~$ !!
echo 1 2 3 4 5
1 2 3 4 5
takk@ubu16:~$

PowerShell

PS /home/takk> echo 1 2 3 4 5
1
2
3
4
5
PS /home/takk> r
echo 1 2 3 4 5
1
2
3
4
5
PS /home/takk>

前回コマンドの最初の引数(トークン先頭)

Bash

takk@ubu16:~$ echo 1 2 3 4 5
1 2 3 4 5
takk@ubu16:~$ echo !^
echo 1
1
takk@ubu16:~$

PowerShell

PS /home/takk> echo $^
echo
PS /home/takk>

PowerShellではトークンの最初なので、コマンド自身を含めてしまいます。

前回コマンドの最後の引数(トークン末尾)

Bash

takk@ubu16:~$ echo 1 2 3 4 5
1 2 3 4 5
takk@ubu16:~$ echo !$
echo 5
5
takk@ubu16:~$

PowerShell

PS /home/takk> echo 1 2 3 4 5
1
2
3
4
5
PS /home/takk> echo $$
5
PS /home/takk>

ヒストリーはBashに分がありそうです。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA