| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
このセクションは,その出力ではなく,終了ステータスが主に役に立つコマンド
を記述します.このためそれらは,シェルのif文の条件やパイプライン
の最後のコマンドとしてよく使用されます.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
false: 何もせず失敗します false:何もせず失敗します"へのコメント(無し)
falseは,失敗を意味する1の終了ステータスを返す以外何もしま
せん.それは,シェルスクリプトの失敗のコマンドが必要な位置で使用すること
が可能です.
falseは,`--help'と`--version'を含む,すべてのコマンド
ライン引数を無視し,それは,そうしない場合,プログラマがあてにしている期
待する動作を変更するためです.(2)
このバージョンのfalseは,Cプログラムとして実装されていて,そのた
め,シェルスクリプトの実装より安全かつ高速になり,アカウントの使用を禁止
する目的のダミーシェルとして安全に使用できます.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
true: 何もせず成功します true:何もせず成功します"へのコメント(無し)
trueは,成功を意味する0の終了ステータスを返す以外何もしませ
ん.それは,シェルスクリプトの成功のコマンドが必要な位置で使用することが
可能ですが,シェル組み込みコマンド : (コロン)は同じことをより高速
に行います.
trueは,`--help'と`--version'を含む,すべてのコマンドラ
イン引数を無視し,それは,そうしない場合,プログラマがあてにしている期待
する動作を変更するためです.(3)
このバージョンのtrueは,Cプログラムとして実装されていて,そのため,
シェルスクリプトの実装より安全かつ高速になり,アカウントの使用を禁止する
目的のダミーシェルとして安全に使用できます.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
test: ファイル形式の調査と値の比較 test:ファイル形式の調査と値の比較"へのコメント(無し)条件式exprの評価に依存して,0(真)または1(偽)のステータスを返します. 表現のそれぞれの部分は,分離された引数にする必要があります.
testには,ファイルのステータスの調査,文字演算子,そして数字比較
の演算子があります.
ほとんどのシェルは,同じ名前の組み込みコマンドがあるため,スクリプト内や 対話的に簡素なコマンド名を使用すると,ここで記述するものと異なる機能を得 る可能性があります.
以下のオプションの他に,testは,単独の`--help'や
`--version'を受け入れます.See 節 2. 共通のオプション. 単一のオプション
なしの引数も可能です.testは,引数がnullでない場合,真を返します.
5.3.1 ファイル形式のテスト -[bcdfhLpSt] 5.3.2 アクセス許可のテスト -[gkruwxOG] 5.3.3 ファイルの特徴テスト -e -s -nt -ot -ef 5.3.4 文字列のテスト -z -n = != 5.3.5 数値テスト -eq -ne -lt -le -gt -ge 5.3.6 testに対する連結! -a -o
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
これらのオプションは,ファイルの特定の形式をテストします.(ファイルのす べてですが,すべてのファイルが同じではありません!)
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
これらのオプションは,特定のアクセス許可をテストします.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
これらのオプションはその他のファイルの特徴を調査します.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
これらのオプションは文字列の特徴をテストします.文字列はtestに対
し引用符で囲みませんが,例えばスペースのような,シェルで特別な意味を持つ
文字を保護するために,それらを引用符で囲む必要があるかもしれません.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
数値の関係です.引数は,完全な数値(負も可能です),または,stringの
長さを評価する特別な式-l stringにする必要があります.
例えば以下のようにします.
test -1 -gt -2 && echo yes => yes test -l abc -gt 1 && echo yes => yes test 0x100 -eq 1 error--> test: integer expression expected before -eq |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
testに対する連結 testに対する連結"へのコメント(無し)通常の論理結合子です.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
expr: 式の評価 expr:式の評価"へのコメント(無し)
exprは式を評価し,結果を標準出力に書き出します.それぞれの式のトー
クンは,分離している引数にする必要があります.
オペランドは数字または文字列のどちらかになります.exprは,あらゆ
るものが,適用されているオペレーションに依存して,整数または文字列がオペ
ランドの位置に存在することを強制します.
文字列はexpr対し引用符で囲みませんが,例えばスペースのような,シェ
ルで特別な意味を持つ文字を保護するために,それらを引用符で囲む必要がある
かもしれません.
演算子は,挿入辞シンボルや前置キーワードとして与えることができます.カッ コは,通常の方法のグループとして使用可能です(しかし,シェルがカッコを評 価することを避けるために,カッコを引用符で囲む必要があります).
0 式がnullでも0でもない場合. 1 式がnullまたは0の場合. 2 有効な式の場合. |
5.4.1 文字列式 <colon> match substr index length quote 5.4.2 数式 5.4.3 exprの関係式| & < <= = == != >= > 5.4.4 exprの使用例Examples.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
exprは,パターンマッチングと,その他の文字列演算子をサポートしま
す.これらは,(次のセクションの)数字と関係の両演算子より低い優先順位にな
ります.
^が暗黙に前置された(基本的にGNU流のgrepの)正規表現と考慮さ
れます.最初の引数は,この正規表現に対し一致の評価がなされます.
一致の評価が成功し,regexが`\('と`\)'を使用している場合,
:式は,サブ式に一致したstringの一部となります.それ以外の場
合は一致した文字の数を返します.
一致の評価に失敗した場合,regexで`\('と`\)'が使用されて
いれば:演算子はnull文字を返し,それ以外では0を返します.
最初の`\( ... \)'の組のみ,戻り値に関係します.追加の組は,正規 表現演算子のグループ化の意味しかありません.
正規表現内では,\+,\?,そして\|は,それぞれ,1以上,
ゼロ以上,オア分離の選択肢の演算子です.SunOSとその他のexprはこれ
らを通常の文字として扱います.(POSIXは,どちらの動作も許可します.)正規
表現の構文の詳細は,See 節 `Regular Expression Library' in
exprの使用例,にあります.
/の場合でも,
tokenを文字列として解釈します.これで,expr length quote
"$x"やexpr quote "$x" : '.*/\(.\)'のテストが可能となり,$x
の値が(例えば)/やindexに偶然なった場合でも,正しくなります.
この演算子はGNUの拡張です.環境変数POSIXLY_CORRECTが設定されている
ときは,利用不可能です.
exprにキーワードとして文字列を解釈させるために,quote演算
子を使用する必要があります.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
exprは,通常の算術演算子をサポートし,優先順位は順に増加します.
(前のセクションの)文字列演算子は,より順位の低い演算子で,(次のセクショ
ンの)連結子は,より順位が高くなります.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
exprの関係式 exprの関係式"へのコメント(無し)
exprは,通常の論理結合と関係式をサポートします.これらは(前のセク
ションの)文字や数字の演算子より優先順位が高くなっています.ここに,低い
優先順位を最初にしたリストがあります.
==は
=の同義語です.exprは最初に,両方の引数を数字に強制し,数
値の比較を行います.どちらかの強制が失敗した場合,辞書的な比較を行います.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
exprの使用例 exprの使用例"へのコメント(無し)ここに,シェルのメタ文字を引用符で囲むものを含む,いくつかの例があります.
Bourne互換シェルで,シェル変数fooに1を加えます.
foo=`expr $foo + 1` |
$fnameに保存されているファイル名のディレクトリ以外の部分を,
/を含めずに出力します.
expr $fname : '.*/\(^.*\)' '^|' $fname |
\+が演算子だということを表示する例です.
expr aaa : 'a\+' => 3 |
expr abc : 'a\(.\)c' => b expr index abcdef cz => 3 expr index index a error--> expr: syntax error expr index quote index a => 0 |
| [ << ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |