LinuxZaurus
■シェルに初期設定を行う

パスを通す

ターミナルでコマンドを実行する際に、コマンド名だけを入力すればいい場合と、そのコマンドがどこに入っているのかその場所まで指定する必要がある場合があります。
これはコマンド名を入力した際にシステムが標準に探しに行くディレクトリの場所が決まっているからです。

例えば私は

/home/zaurus/tools

にディレクトリを作ってシェルなどを入れているのですが、このディレクトリは標準で探しに行くディレクトリには含まれていません。そのためここに入れているシェルはそのままでは実行できません。なので例えばtoolsに入っているfindallというシェルスクリプトを実行する場合、/home/zaurus/tools/findallと入力する必要がありました。
しかし、これはさすがに面倒くさいので、システムの方にコマンドが実行されたときには/home/zaurus/tools以下も見てくれるように設定する事にしました。これをパスを通すといいます。

ちなみに標準で見に行くディレクトリを確認するにはターミナルを起動して

echo $PATH

と入力して実行します。そうするとコマンド名をそのまま入力した際に、システムが標準で見に行ってくれる場所が表示されます。

パスの通し方でいちばん簡単な方法は、ターミナルを起動して

export PATH=$PATH:追加するパス

と入力して実行することです。
しかしこうして通したパスはSL-C700を再起動するたびに初期かされてしまいます。
これではまた不便です。

そこで、以前塚本さんから教えてもらったbashの初期設定の方法を、zshに応用してみました。
とりあえず

/home/zaurus/tools

というディレクトリにパスを通す方法を例に説明します。
まずターミナルを起動します。
次に念のため

cd

と入力して実行します。これでそのユーザーのホームディレクトリに移動します。
次に

vi .zshrc

として.zshrcファイルを作成します。そしてそこに

export PATH=$PATH:/home/zaurus/tools

と記述します。

:wq

としてファイルをセーブしたらSL-C700を再起動します。
これで

echo $PATH

と入力すると、パスに

/home/zaurus/tools

が加わっているはずです。

エイリアスも設定する

私がよくファイル名からファイルを検索する際に使うコマンドとして

find / -name "hoge*"

というものがあります。
これは/(ルート)以下のディレクトリからhogeではじまるファイルをファイル名で探す、という意味になります。
しかしいちいちこれを入力するのは面倒です。そこで

find / -name

までを一まとめにして別の名前を付けることにします。
例えば行きつけのラーメン屋で「醤油キムチラーメンとごはん」 を「いつもの」というようなものです。(笑)
この別名を「エイリアス」といいます。
エイリアスの設定方法でいちばん簡単なのはターミナルを起動して

alias 別名='設定するコマンド'

と入力して実行することです。例えば今回の場合は

alias findall='find / -name"

という事になります。これで

findall "huga*"

などとやると

find / -name "huga*"

とやるのと同じ実行結果が得られます。
しかしこの方法も同じくSL-C700をリブートしたときに設定が消えてしまいます。
そこで再び.zshrcに記述します。
またターミナルを起動して

cd

を実行してホームディレクトリに移動してから

vi .zshrc

を実行します。
.zshrcが既にある場合はそれを開き、無い場合はそういう名前で新たにファイルを作成します。
で、そのファイルに

alias findall='find / -name'

という一文を記述します。
あとは

:wq

としてファイルを上書きします。
以上で初期設定は完了です。

なお、bashファイルを設定したい場合には

.zshrc

.bashrc

に置き換えて読んで下さい。

suで起動するシェルを変更する

zhsでsuした後に起動したviで、サスペンド後にプロセスが停止してしまう件ですが。
rootのSHELLとして/bin/shが起動されているのが原因だそうです。
どのユーザでどのSHELLが起動されるのかは

/etc/passwd 

に書いてあるとの事なので

root:x:0:0:root:/home/root:/bin/sh

root:x:0:0:root:/home/root:/home/QtPalmtop/bin/zsh

と変更すれば、su時に起動されるシェルがzshに変更されます。
また

zaurus:x:500:500:Zaurus User:/home/zaurus:/bin/sh

の行も

zaurus:x:500:500:Zaurus User:/home/QtPalmtop/bin/zsh

に変更すればtelnet時に起動されるシェルもzshに変更されます。
のちなさん、ありがとうございました。

 

戻る