タグ

2014年1月31日のブックマーク (2件)

  • 変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す

    変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • とある物理の院生日誌~院生は社会へ旅立った~ 【シェルスクリプト】シャープ、パーセントを使った文字列操作

    ${#変数} で変数の文字列の長さ ${変数#パターン} 変数について、最初の部分とパターンがマッチしたら、最も短く一致する部分を取り除いた残りの部分を返す。 ${変数##パターン} 変数について、最初の部分とパターンがマッチしたら、最も長く一致する部分を取り除いた残りの部分を返す。 ${変数%パターン} 変数について、最後の部分とパターンがマッチしたら、最も短く一致する部分を取り除いた残りの部分を返す。 ${変数%%パターン} 変数について、最後の部分とパターンがマッチしたら、最も長く一致する部分を取り除いた残りの部分を返す。 例) STR=/a/b/c/d/e/hoge.10.txt $ echo ${STR##/*/} →hoge.10.txt 一番長い/~/は/a/b/c/d/e/ $ echo ${STR#/*/} →/b/c/d/e/hoge.10.txt 一番短い/~/は/a