Nushellでは自分専用のコマンドを定義することができます。例えば現在のディレクトリ以下全てのサブフォルダ内にあるファイルサイズが1GB以上のファイル一覧を取得するコマンドを作成するとします。この場合、以下のようにコマンドを入力すると期待する結果を得ることができます。
ls **/* | where size > 1gb
ここで独自のコマンドを定義して1GBでなく任意のサイズを指定できるようにします。この場合、以下のように定義します。このままコマンドラインから入力すると即時fsizeという名前のコマンドが定義され使えるようになります。
何も指定せずにfsizeとだけ入力すると1GBより大きいファイルの一覧が出力されます。これは「filesize = 1gb」としてパラメーターがない場合は1GBより大きいサイズになるように変数に値を入れているためです(デフォルトパラメーター)。
fsize 10gbとすると10GBより大きいファイルの一覧が出力されます。
なお、すでに同名のコマンドがある場合は上書きされます。Nushellのビルトインコマンドでも上書きして定義することができます。
Terminal
def fsize [
limit: filesize = 1gb # 検索する最小サイズ(1gb)
] {
ls **/* | where size > $limit
}