Shell.変数
シェル変数
DESC
シェル変数とはシェルの動作をきめるパラメータのこと。
SHELL
LANG
DESC
各ツールが内部で起動するシェルを指定する。
SHELL=/usr/bin/bash
make all
var=val
echo $var;
echo ${var}
ignoreeof : c-d | logout を防止.
-> set -o ignoreeof
-> c-d
-> Use "logout" to leave shell
環境変数 ENV とは 全 Process が参照できる global な値( 属性 )
export してね
void bash() {
while( exit ) {
global GWORK="c:/work";
LWORK="c:/work";
mycmd();
test.sh();
}
}
WARNING
ps 起動後に Export した ENV は追加されない
子 PS は 親 PS の環境(ENV)をうけつぐ
種類
(.) 組み込みシェル変数 EX : PS1,
(.) シェル変数
(.) 環境変数( コマンドから参照できる変数 ) == PATH、HOME、export VAR=test;
Shell.変数 一覧
DESC
tool が出力する coding system( この文字code使ってね - )
SHELL=ja_JP.SJIS( make,gcc が文字化けを起こすので注意 )
環境変数
シェル、任意のコマンドに値を渡すときに利用する変数。
あるプロセスで設定された環境変数は子プロセスでも利用できる。
しかし親プロセスや別プロセスは参照できない。
export testvar="test";
set | grep testvar
特殊変数
$0 シェルスクリプト名
$1 ・・・, ${10}・・・ 1番目から9番目の引数、10番目以降の引数(2桁の場合は{}で囲む)
$# 引数の数
$@ 又は $* 全ての引数のリスト
$$ プロセス番号
$? 直前のコマンドの実行結果(正常終了時に0が代入される)
$- シェルに与えられたオプション
PS1 : prompt string
\w:
\@
\l
\u
変数は文字列として処理
test=1
test=$test+1 // echo $test -> 1+1
declare -i test
test=1
test=$test+1
echo $test
shellVar.とは.shell の動作を制御する属性
SYNTAX
var=val
unset var=val
readonly var
set -+o var // tgl
DESC
shellVar は user , tgl, shell 自動設定の 3 種類あり.
set -o で一覧表示
POINT
BASH_ENV : shell init file
BASH_VERSION : bash version
braceexpand : brace 展開
CDPATH : cd 検索 path
set -o emacs : emacs 方式による cmdline 入力
EUID : UsrCur ID
GROUPS : GrpCur ID
IFS : cmd 区切り文字
LINENO : 現在行
PPID : prt IDPS
REPLY : read で読まれた行
read;
BAD read i;
IGNOREEOF : c-d による shell 終了を抑止する回数
IGNOREEOF=n
SECONDS : shell 起動時間
FIGNORE : 指定した file末尾 の file 展開しない これ便利
. FIGNORE=_bk
GLOBIGORE : path 展開をする際の 無視する list
ShellScriptの汎用的な扱い
continue : while, foreach