2007年10月8日月曜日

terminal — 覚え書き

◆rootアカウントの有効化(2007/10/06追加)
Netinfo マネージャを起動し、「ドメイン」メニューから「セキュリテイ」-「ルートユーザを有効」を選択し、rootアカウントを有効にする必要がある。(出典:田中俊光氏の覚書き)

◆シェルの登録場所
/etc/shells
---------------------------------------------<contents>
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

---------------------------------------------<contents>


◆bashの設定ファイル(出典:Cyberam

/etc/profile
 ログイン時にだけ実行されるシステム全体の設が記述されたスクリプトファイル。
~/.bash_profile
 ログイン時にだけ実行されるスクリプトファイル。
~/.bashrc
 bashの起動時に実行されるスクリプトファイル。起動される度に実行される。
~/.bash_logout
 bashをログアウトするときに実行されるスクリプトファイル。
~/.bash_history
 コマンド履歴が保存されており、環境変数HISTSIZEの値を変更することで保存するコマンド履歴数を変更できる。
ログアウトの度にコマンド履歴をリセットしたいのであれば~/.bash_logoutに"rm -f $HOME/.bash_history"を記述する。

また~/.bash_profileなどのスクリプトの内容を適用するためにログアウトし直すのは面倒なので
 #source ~/.bash_profile
を実行することですぐに設定を有効にできる。



◆tcsh の設定ファイル(出典:UNIXの部屋 検索: ~/.tcshrc
~/.tcshrc
ログイン時に自動的に読まれる。
このファイルが無かった場合、~/.cshrc が読まれる。tcsh を使っている場合、初期設定を書くには、大別して3つのやり方がある。

1) 絶対に tcsh しか使わないなら、全てのシェル変数、環境変数、alias、complete などの設定を~/.tcshrc に書けばよい。

2) たまに csh を使うなら、csh・tcsh 共用の設定 (tcsh の内部コマンドである complete などを除いたもの) を ~/.cshrc に書いて、その中で
if ( ${?tcsh} ) then
endif

を書き、この if 文の中に tcsh 専用の設定を書けばよい。

3) あるいは、~/.cshrc に csh・tcsh 共用の設定を書き、~/.tcshrc に tcsh 専用の設定を書いて、~/.tcshrc の最後に
source ~/.cshrc
としてもよい。どの方法を取るかは好みの問題。


Terminal を走らせると、/etc/profile~/.bash_profile が 実行されるが、/etc/bashrc~/.bashrc は実行されない。 それに対し、X11からxtermを走らせると、 /etc/profile~/.bash_profile は実行されないが、 /etc/bashrc~/.bashrcが実行される。

そこで、Terminal, xterm, どちらを走らせても、 PATH と DISPLAYの環境変数が設定されるように、 共通の設定は ~/.bashrc にまとめ、 ~/.bash_profileからは~/.bashrc を実行する。

Linux全般編 シェルの基本操作法(後編3:シェル変数と環境変数)より抜粋・改変

シェル変数:現在実行中のシェルのみで有効
環境変数:シェルから実行したコマンドにも引き継がれる

bashでは,シェル変数と環境変数はほとんど同列の扱い
シェル変数をエクスポートすると環境変数になる

tcshでは,シェル変数と環境変数を別の変数として扱う
変数に値を設定するコマンドも異なる

●bashの場合

シェル変数varに値「example」を設定
  $ var=example
このシェル変数を環境変数に
  $ export var
シェル変数varを参照するには${var}と記述.
シェル変数varの削除(設定値ではなく,変数自体を削除)
  $ unset var

現在設定されているシェル変数の一覧を出力
  $ set
特定のシェル変数varの設定値だけを出力(「$」を忘れない)
  $ echo $var

設定されている環境変数の一覧
  $ printenv
特定の環境変数varの設定値を出力
  $ printenv var

●tcshの場合

シェル変数varに値「example」を設定
  % set var = example
シェル変数varの削除(設定値ではなく,変数自体を削除)
  % unset var
環境変数VARを削除
  % unsetenv VAR
現在設定されているシェル変数の一覧を出力
  % set

環境変数VARに値「example」を設定
  % setenv VAR example
設定されている環境変数の一覧
  % printenv
特定の環境変数varの設定値を出力
  % printenv var



■リンク
Linux コマンド入門
bashとシェルスクリプトの基礎

0 件のコメント: