コンテンツにスキップ

「Nash」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
翻訳
 
アーカイブ
タグ: 新規リダイレクト
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
#redirect [[ArchWiki:アーカイブ]]
[[Category:コマンドシェル]]
[[Category:アーカイブ]]
[[en:Nash]]
[https://github.com/NeowayLabs/nash Nash] (あるいは Nash シェル) は最小主義ながら強力な[[シェル]]です。スクリプトの可読性とセキュリティに重きが置かれています。Nash は Plan9 の [https://en.wikipedia.org/wiki/rc rc] シェルの影響を受けており Linux で {{man|7|namespaces}} の作成と同じようなことができます。Golang の [https://golang.org/cmd/gofmt/ gofmt] プログラムと同じような、nash スクリプトを整形して読みやすくする ''nashfmt'' プログラムが存在します。

== インストール ==

{{Aur|nash-git}} パッケージをインストールしてください。

== 設定 ==

nash をインストールしたら以下のコマンドを実行してみてください:

{{hc|$ nash|
λ>
}}

ラムダ記号のプロンプトが表示されたら、問題なくインストールされています。

最初の起動時に、nash はユーザーのホームディレクトリの中に {{ic|~/.nash/}} ディレクトリを作成します。以下のコマンドを使うことでディレクトリを確認できます:

{{hc|λ> echo $NASHPATH|
/home/''username''/.nash
}}

作成されたディレクトリの中に {{ic|init}} というファイルを保存することで設定ができます。

Nash には特殊変数が1つだけ存在します:

* {{ic|PROMPT}} 変数はシェルプロンプトに表示する Unicode 文字列を指定します。

''Nash'' のデフォルトの ''cd'' はビルトイン関数の ''chdir'' のエイリアスとなっています。使いづらいと感じるかもしれません。''cd'' エイリアスを自分で作成することで使い心地を改善できます。nash ではコマンド名に関数を割り当てることでしかエイリアスを作成できません。以下の ''init'' では例として ''cd'' エイリアスを作成しています:

{{hc|~/.nash/init|2=
defPROMPT = "λ> "

fn cd(path) {
if $path == "" {
path = $HOME
}

chdir($path)
PROMPT = "("+$path+")"+$defPROMPT
setenv PROMPT
}

# bind the "cd" function to "cd" command name
bindfn cd cd
}}

init ファイルを保存して新しいシェルを起動すれば定義した ''cd'' を使えるはずです:

git:(master)λ> nash
λ> cd
(/home/i4k)λ> cd /usr/local
(/usr/local)λ>

''cd'' などのエイリアスの実装について詳しくはプロジェクトの [https://github.com/tiago4orion/dotnash dotnash] を見てください。

=== init の管理 ===

''Nash'' スクリプトはモジュール化できますが、パッケージという概念はありません。''import'' キーワードを使うことで他のファイルをロードできます。[https://github.com/tiago4orion/dotnash/blob/master/init dotnash init] の例を見てください。

=== $PATH の設定 ===

''init'' の中に以下のコードを記述してください (必要に応じて編集してください):

{{bc|1=
path = (
"/bin"
"/usr/bin"
"/usr/local/bin"
$HOME+"/bin"
)

PATH = ""

for p in $path {
PATH = $PATH+":"+$p
}

setenv PATH
}}

=== nash をデフォルトシェルにする ===

[[コマンドシェル#デフォルトシェルを変更する]]を見てください。

== 使用方法 ==
=== キーバインド ===

''cli'' は一般的なバッファ編集として ''emacs'' と ''vi'' モードをサポートしています。デフォルトのモードは ''emacs'' ですが以下のコマンドで変更できます:

λ> set mode vi

== 参照 ==

* [https://github.com/NeowayLabs/nash Nash シェル]
* [https://github.com/tiago4orion/dotnash dotnash]
* [https://github.com/NeowayLabs/nashcomplete nash シェルの自動補完]

2024年9月8日 (日) 17:27時点における最新版