逆引きシェルスクリプト/変数に値が設定されていたらそのまま、なければ初期値を設定する
の編集
Top
/
逆引きシェルスクリプト
/
変数に値が設定されていたらそのまま、なければ初期値を設定する
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * 変数に値が設定されていたら変更せず、設定されていなければ初期値を設定する方法 [#l5acd783] bashシェルでは、以下に記述する方法で、変数を初期化することができます。~ ifを使う必要がなくスマートにシェルスクリプトを記述できると思います。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 変数の初期化・値がある場合は変更なし・値がない場合は初期値を設定する実行例 [#g611df0f] if then else による変数初期化を簡単に書くことができます。 **例:変数vに値がある場合は変化なし、変数vが空の場合は初期値(左辺値)を設定 [#zb990f80] -変数vが空の場合、vにsakuraが代入される例 $ unset -v v $ if [ -z "$v" ]; then > v=sakura > fi $ echo $v sakura #br -変数vに値がある場合は、変化なし $ v=tsubaki $ if [ -z "$v" ]; then > v=sakura > fi $ echo $v tsubaki これを以下のように記述することができます。 v=${v:-tsubaki} 実際に実行してみます。 $ unset -v v $ v=${v:-tsubaki} $ echo $v tsubaki $ v=sakura $ v=${v:-tsubaki} $ echo $v sakura したがって、以下のような構文になります。 初期化確認変数=${初期化確認変数:-左辺の変数が空の場合に設定する値} **例:変数sに値がある場合は、変数sの値を変数vに代入する実行例になります。 [#mc3af716] - 変数sが値なしのため、v=tsubakiが実行される $ unset -v s ; unset -v v $ if [ -z $s ]; then > v=tsuaki > else > v=$s > fi $ echo $v tsuaki #br - 変数sにsakuraが設定されているため、v=$sが実行される $ unset -v v ; s=sakura $ if [ -z $s ]; then > v=tsuaki > else > v=$s > fi $ echo $v sakura これを以下のように記述することができます。 v=${s:-tsubaki} 実際に実行してみます。 -変数sが設定されていない場合 $ unset -v s; unset -v v $ v=${s:-tsubaki} $ echo $v tsubaki #br -変数sにsakuraが設定されている場合 $ unset -v s; unset -v v $ s=sakura $ v=${s:-tsubaki} $ echo $v sakura したがって、以下のような構文になります。 変数=${値があった場合代入する変数:-左辺の変数が空の場合に設定する値} 以上、bashの便利な機能を使用して変数の初期化をする方法の紹介でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
タイムスタンプを変更しない
#navi(../) * 変数に値が設定されていたら変更せず、設定されていなければ初期値を設定する方法 [#l5acd783] bashシェルでは、以下に記述する方法で、変数を初期化することができます。~ ifを使う必要がなくスマートにシェルスクリプトを記述できると思います。 #contents #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) * 変数の初期化・値がある場合は変更なし・値がない場合は初期値を設定する実行例 [#g611df0f] if then else による変数初期化を簡単に書くことができます。 **例:変数vに値がある場合は変化なし、変数vが空の場合は初期値(左辺値)を設定 [#zb990f80] -変数vが空の場合、vにsakuraが代入される例 $ unset -v v $ if [ -z "$v" ]; then > v=sakura > fi $ echo $v sakura #br -変数vに値がある場合は、変化なし $ v=tsubaki $ if [ -z "$v" ]; then > v=sakura > fi $ echo $v tsubaki これを以下のように記述することができます。 v=${v:-tsubaki} 実際に実行してみます。 $ unset -v v $ v=${v:-tsubaki} $ echo $v tsubaki $ v=sakura $ v=${v:-tsubaki} $ echo $v sakura したがって、以下のような構文になります。 初期化確認変数=${初期化確認変数:-左辺の変数が空の場合に設定する値} **例:変数sに値がある場合は、変数sの値を変数vに代入する実行例になります。 [#mc3af716] - 変数sが値なしのため、v=tsubakiが実行される $ unset -v s ; unset -v v $ if [ -z $s ]; then > v=tsuaki > else > v=$s > fi $ echo $v tsuaki #br - 変数sにsakuraが設定されているため、v=$sが実行される $ unset -v v ; s=sakura $ if [ -z $s ]; then > v=tsuaki > else > v=$s > fi $ echo $v sakura これを以下のように記述することができます。 v=${s:-tsubaki} 実際に実行してみます。 -変数sが設定されていない場合 $ unset -v s; unset -v v $ v=${s:-tsubaki} $ echo $v tsubaki #br -変数sにsakuraが設定されている場合 $ unset -v s; unset -v v $ s=sakura $ v=${s:-tsubaki} $ echo $v sakura したがって、以下のような構文になります。 変数=${値があった場合代入する変数:-左辺の変数が空の場合に設定する値} 以上、bashの便利な機能を使用して変数の初期化をする方法の紹介でした。 #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
テキスト整形のルールを表示する