スキップしてメイン コンテンツに移動

投稿

ラベル(sh)が付いた投稿を表示しています

shの設定: ファイル構成

  私のshの設定ファイルの構成を以下に示す. alias.sh: エイリアスを設定する. env.sh: 環境変数を設定する. misc.sh: その他の設定をおこなう.   ディレクトリ構成は次のようにしている. ~/ lib/ conf/ shell/ sh/ dot.profile alias.sh env.sh misc.sh

shの設定: misc.sh

misc.sh   その他,細々したことを設定する. #!/bin/sh umask 022 if which dircolors 2>&1 1>/dev/null; then eval `dircolors ~/lib/conf/misc/dot.dir_colors -c` fi PS1="\[\033[36m\]\u:\w \$ \[\033[0m\]" case $os_rev in "Linux") limit coredumpsize 0 ;; "SunOS") ;; "FreeBSD") if [ -n ${DISPLAY} ]; then kbdcontrol -b off fi ;; "CYGWIN*") cd ${HOME} ;; *) ;; esac umask   新規にファイルを作成する際の,パーミッションにかけるマスクを設定する. dircolors   lsコマンドで表示する各ファイルの色を指定するために利用する.実際には,evalによって,環境変数LS_DIRCOLORSを設定する. PS1   プロンプトで表示する内容を指定する.

shの設定: env.sh

env.sh   環境変数を設定する. #!/bin/sh export EDITOR=vi export SVN_EDITOR=vi if [ -z ${DISPLAY} ]; then export LANG=C fi export EMACS_IME="anthy-el" export PATH='' export PATH=${HOME}/lib/bin:$PATH export PATH=${HOME}/local/bin:$PATH export PATH=${HOME}/local/usr/bin:$PATH export PATH=/usr/local/bin:$PATH export PATH=/usr/bin:$PATH export PATH=/usr/sbin:$PATH export PATH=/bin/:$PATH export PATH=/sbin:$PATH case $os_rev in "Darwin") export PATH=/opt/local/bin:/opt/local/sbin:$PATH export DISPLAY=:0.0 ;; esac export MANPATH=${MANPATH}:${HOME}/local/man/

shの設定: dot.profile

dot.profile   /bin/shの起動時に,初期化するために呼ばれるスクリプト. #!/bin/sh chsh() { search_dir='/bin /usr/bin /usr/local/bin' search_shell='zsh tcsh bash' for shell in $search_shell; do for dir in $search_dir; do path=$dir/$shell if [ -x $path ]; then SHELL=$path echo $SHELL exec $SHELL fi done done } chsh os_rev=`uname` source ${HOME}/lib/conf/shell/sh/alias.sh source ${HOME}/lib/conf/shell/sh/env.sh source ${HOME}/lib/conf/shell/sh/misc.sh os_rev= シェルの変更   私はzshを使う人なので,zshがあればexec zshしてシェルを変更する.では,どうせシェルを変えるのならば,何故chshして予めzshを使うよう指定しないのか.これは,マシンに新規にOSをインストールする際に,通常はzshがデフォルトで入らないことによる.このため,あらゆるディストリビューションに必ず入っている/bin/shをデフォルトで使用し,もしzshがインストールされていればこれに乗り換える,という策を講じている.