差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
linux:bashtips [2013/01/29 05:19]
nogajun
linux:bashtips [2013/01/29 05:52] (現在)
nogajun
ライン 56: ライン 56:
 <code bash> <code bash>
 # 先頭の1文字を切り出す # 先頭の1文字を切り出す
-STR="​abcdefg";​ echo ${STR:0:1}+STR="​abcdefg";​ echo ${STR:0:1} 
 +a
  
 # 最後の1文字を切り出す # 最後の1文字を切り出す
-STR="​abcdefg";​ echo ${STR:​$((${#​STR}-1))} +STR="​abcdefg";​ echo ${STR:​$((${#​STR}-1))} 
-</​code>​+g
  
 +</​code>​
  
 <​note>​ <​note>​
 特定の文字列の位置(offset)から、lengthを取り出す。 特定の文字列の位置(offset)から、lengthを取り出す。
- +<​code ​bash>
-<​code>​+
 部分文字列展開 部分文字列展開
 ${parameter:​offset:​length}  ${parameter:​offset:​length} 
ライン 72: ライン 73:
  
 文字列の長さを返す。 文字列の長さを返す。
- +<​code ​bash>
-<​code>​+
 パラメータの長さ パラメータの長さ
 ${#​parameter} ​ ${#​parameter} ​
ライン 79: ライン 79:
  
 計算をする 計算をする
- +<​code ​bash>
-<​code>​+
 算術式展開 算術式展開
 $((expression)) ​ $((expression)) ​
 </​code>​ </​code>​
- 
 </​note>​ </​note>​
 +
 +===== 連想配列(ハッシュ)を使う =====
 +
 +bash 4.xから連想配列(ハッシュ)が使えます。
 +
 +<code bash>
 +$ declare -A nhk
 +$ nhk[fm]="​NHK-FM";​ echo ${nhk[fm]} #​変数はチルダで囲む
 +NHK-FM
 +</​code>​
 +
 +一気に代入する場合はこんな感じ。
 +
 +<code bash>
 +$ declare -A nhk
 +$ nhk=([r1]="​NHK第1ラジオ"​ [r2]="​NHK第2ラジオ"​ [fm]="​NHK-FM"​);​ echo ${nhk[r1]}
 +$ echo ${nhk[r2]}
 +NHK第2ラジオ
 +
 +# バリューの一覧
 +$ echo ${nhk[@]}
 +NHK第2ラジオ NHK第1ラジオ NHK-FM
 +
 +# キーの一覧
 +$ echo ${!nhk[@]}
 +r2 r1 fm
 +</​code>​
  
  • linux/bashtips.txt
  • 最終更新: 2013/01/29 05:52
  • by nogajun