2017-02-17

NetBSDのSH(1)内蔵コマンドcdにおける拡張機能

NetBSDのSH(1)のマニュアルをみていると内蔵コマンドcdが拡張されていることに気が付きました。マニュアルでは次のような構文になっています。
cd [-P] [directory [replace]]
replaceという部分が拡張されたところです。マニュアルでは「If replace is specified, then the new directory name is generated by replacing the first occurrence of directory in the current directory name with replace.」と説明されていますが、具体的にどういうことなのか、よくわかりません。

いろいろと試行錯誤してみたところ、次のようなことができるようです。例えば/usr/pkgsrcのように同一階層のディレクトリに多くのサブディレクトリが並んでいる場合を考えます。もしカレントディレクトリが/usr/pkgsrc/mailだったとすると、次のようなコマンドを打つことで/usr/pkgsrc/netに移ることができるようです。
cd mail net
この機能はFreeBSDのSH(1)やGNU BASHなどには無いようですが、ZSHには似たような機能があるそうです。

このような機能があれば便利な状況もあると思いますが、他のOSでは使えないため手が覚えてしまうと困ったことになりそうです。ただしNetBSDを利用するのであれば、覚えておいても良いでしょう。

0 件のコメント:

コメントを投稿