2013-03-08 7 views

答えて

7

あなたはchshコマンドを試すことができます。離れたところにzshがインストールされていないのですか?そうでない場合は、

基本的な考え方は、zshのと現在のシェルを交換するには、execを使用することです(zsh FAQ Section 1.7から引用)これを行うことができます。これは、.profile(シェルがshまたはkshの場合)または.login(cshの場合)などのログインファイルで行うことができます。あなたはこれを試す前に、execがしばしば寛容ではないので、ファイルを変更する方法があることを確認してください。

[ -f $HOME/bin/zsh ] && exec $HOME/bin/zsh -l 

をしたり、ログインシェルがcshまたはtcshのであれば、.loginファイルでこれを置く:

あなたのホームディレクトリのサブディレクトリのbinでのzshをお持ちの場合は、.profileファイルにこれを入れ

if (-f ~/bin/zsh) exec ~/bin/zsh -l 

(それぞれの場合において、-lは、それがログインシェルであるのzshを伝えます)。

あなたは、これはそれに自分自身をコミットする前に動作確認したい場合は、ログインシェルをzshのをexecしするかどうかを尋ねることができます。

[ -f $HOME/bin/zsh ] && { 
     echo "Type Y to run zsh: \c" 
     read line 
     [ "$line" = Y ] && exec $HOME/bin/zsh -l 
} 

とCシェルのようなシェルの::ボーンのようなシェルの次の仕事

if (-f ~/bin/zsh) then 
     echo -n "Type Y to run zsh: " 
     if ("$<" == Y) exec ~/bin/zsh -l 
endif 

それは.cshrcファイルに(でも-lなし)これを置くことは良い考えではありません、少なくともCSHは、それがCSHのすべてのインスタンスはzshのに変身するとcshのスクリプトが原因となる原因となりますよう、やっていることになっているかについて、いくつかのテストをせずに(はい、残念ながら一部の人々はこれらの書き込み)csh -fを呼び出すしません失敗する。 xtermにzshを実行するよう指示したい場合は、exec zshと同時にSHELL環境変数をzshのフルパスに変更します(実際には、xtermを使用していなくても一貫性があります)。 .cshrcからexec zshを実行する必要がある場合は、($?prompt)exec zshの場合は最小限の安全性チェックが必要です。

プロセスシェルに-zshとして表示されるようにログインシェルを使用する場合は、zshを-zshにリンクすることができます(例:ln -s〜/ bin/zsh〜/ bin/-zsh)。 exec -zsh。 (パスに-zshがあることを確認してください)これは-lオプションと同じ効果があります。

脚注:あなたはrootアクセス権を持っている場合は、必ずzshのはNISクライアントを含むすべての適切なマシンで、上の/ etc /シェルに入り、あるいはあなたがそのマシンにFTPで問題が発生することがあります。その後、

./configure --prefix=$HOME 
make 
make install 

と明示的に開始するか、プログラムであなたの現在のシェルの起動ファイルから(中exec $HOME/bin/zsh -lを置く:

2

マシンにzshがある場合は、zshをスワップするプロンプトで実行するだけで問題ありません。もしうまくいくなら、シェルをスワップする(ルートなしで動作するはずです)か、接続してみるかsshssh -t hostname zshを入力すると自動的に開始されます。

-1

ユーザーアカウントディレクトリにディレクトリを作成し、zshを展開した後、./config,makeおよびmake installを使用します。

+1

質問は*ルートアクセスなし*のインストールについてでした。 –

29

でダウンロードzshの:あなたは、たとえば、自分でのzshコンパイルでき

wget -O zsh.tar.gz https://sourceforge.net/projects/zsh/files/latest/download 
mkdir zsh && tar -xvzf zsh.tar.gz -C zsh --strip-components 1 
cd zsh 

右のスポット)。

+0

バージョン5.2では接頭辞は '--prefix = $ HOME'のみでなければなりません。そうでなければ' $ HOME/bin/bin'で終了します – ilija139

+0

@ ilija139ありがとう、訂正しました。 – Jens

+0

'$ HOME'には' lib'フォルダもあります:/ 他のフォルダにインストールして '$ HOME/bin'にシンボリックリンクするのが一番です – ilija139

関連する問題