Quantcast
Viewing all articles
Browse latest Browse all 2722

shell scriptの変数と配列

shellscriptを勉強したのでまとめます。

変数

$n : n番目の引数を格納する。 引数は.shファイル arg1 ...のように渡す。

$0 : 自身のパスを格納している。(相対・絶対パスによって値が異なる)。

$@ : 全ての変数が格納されている。

$? : 直前に実行したコマンドの結果(0か0以外)を返す。

$# : 引数の個数を格納。

例えばファイルの中身が以下のようなものだとして、

variable.sh
#!/bin/bashecho$2echo$0echo$@echo$#

./variable.sh arg1 arg2を実行したら、

arg2
./variable.sh
arg1 arg2
2

となる。

$?について

exec.sh
#!/bin/bash
./variable.sh

echo$?

上のようなファイルを作り、./exec.shを実行すると、

./variable.sh
0

直前に実行したコマンド./variable.shが正常に実行できたので 0 が帰ってくる。
(引数は指定していないから表示はされない)

配列

作成 : array=('value1' 'value2' ...)
追加 : array[n]='valeu'
削除 : unset array[n]

array.sh
#!/bin/bashname=('Taro''Jiro''Hanako')
name[3]='Saburo'
name[1]='James'unset name[0]

このファイルを実行した場合、
Taro, Jiro, Hanakoが定義される→Saburoが追加される
→JamesがJiroの位置に挿入される→0番目であるTaroが消える。
ということは配列の中身はJames Hanako Saburoとなる。

さらに、

array.sh
~~ ~~ ~~

echo${array[@]}#全ての要素を表示echo${!array[@]}#各要素のindex番号を表示echo${#array[@]}#配列の個数を表示

これを実行すると、

James Hanako Saburo
0 1 2 3
4

と出力される。

基本的なものだけまとめました。
お役にたったら幸いです。


Viewing all articles
Browse latest Browse all 2722

Trending Articles