TOP/PROGRAM/NYAOS を使おう!/NYAOS を使おう! - 他機能・TIPS

NYAOS を使おう! - 他機能・TIPS

あまり使わない機能とか、こまごました事とか、ちょっと高度なものとか。

Vzライクなヒストリ参照

NYAOS には特殊なヒストリ参照があります。デフォルトの初期設定ファイルでは CTRL-P と CTRL-N にキーバインドされています。

ある程度文字を入力してからこの機能を使うと、 ヒストリの中から入力した文字列で始まるものを検索して新しく入力した順に表示されます。

例えばヒストリの中身が

aaa
abc
ayy
abz
azz

だった場合

ab

と打ってからこの機能を使うと上から順に

abz
abc

が補完されて表示されます。

私の場合は CTRL-UP と CTRL-DOWN にキーバインドしています。たまに使う機能です。

直前のcdを実行する前のカレントディレクトリに移動

cd -

で前回行った cd の時のカレントディレクトリに移動します。結構便利

シェルスクリプトの引数チェック

シェルスクリプトの引数が存在するなら処理Aを実行する

set test=%1

if %test.defined% == 2 then
  処理A
endif

一旦環境変数に入れないと駄目なのかなぁ…

内蔵コマンドを補完の対象にする

NYAOS は内蔵コマンドが補完の対象になりません。 関数機能で定義されたコマンドも補完の対象になりません。 (folder機能やsuffixで定義したものは対象になる。)

その場合 alias 機能を使って内蔵コマンド自身に alias すれば 補完の対象にすることが出来ます。

optionコマンドを補完の対象にする。

alias option option

リダイレクトのTIPS

リダイレクトの文法はその記号の直後の項目のみに適用されるようです。つまり

ls a.txt > b.txt c.txt

と入力すると ls への引数には「a.txt」と「c.txt」が渡されて、 その出力が「b.txt」にリダイレクトされます。これを利用すると

< hoge.txt grep bar | sort

なんてことも可能です。

標準エラー出力のリダイレクト

通常リダイレクトは標準入力と標準出力を対象にしますが、 場合によっては標準エラー出力をリダイレクトしたい場合があると思います。 その場合は以下の方法を使います。

標準エラー出力をファイルにリダイレクトする場合
2> ファイル名
上記と同じだが、既存ファイルの末尾にリダイレクトする場合
2>> ファイル名
標準エラー出力を標準出力と同じ先へ出力する場合
2>&1
標準エラー出力を廃棄する場合(「2>nul」 と等価)
2>&-
標準出力・標準エラー出力の両方を、パイプ先のコマンドの標準入力へ接続する場合(「2>&1 | コマンド」と等価)
|& コマンド

ちなみに tee というコマンドは標準入力を標準出力と 引数で与えられたファイルに出力します。 コマンドの結果をリアルタイムで見つつログをとる場合とかに便利。

コマンドhogeの標準出力と標準エラー出力の内容を画面に出力しつつhoge.logに出力する。

hoge 2>&1 | tee hoge.log

TOP/PROGRAM/NYAOS を使おう!/NYAOS を使おう! - 他機能・TIPS