Resource > Bash
配列のループをまわす場合は下記のようにします。
echoでsudoを使う
ファイルに設定を追記したい場合、下記の様ではうまくいきません。$ sudo echo "hoge" >> /etc/fuga.confこの場合、teeを使用します。
$ echo "hoge" |sudo tee -a /etc/fuga.conf
ファイルを一行ずつ読む
while read line; do
echo $line
done < $FILE
$ echo 'hoge > fuga > hige' >testFile $ while read line; do > echo $line > done < testFile hoge fuga hige
関数
関数は呼び出す前段に定義しておく必要があります。
functoin hoge() {
echo $1
}
hoge hige
配列
TEST=("hoge" "hige")
echo ${TEST[0]}
echo ${TEST[1]}
配列のループをまわす場合は下記のようにします。
for elem in ${TEST[@]}; do
echo $elem
done
文字列のパターンマッチングを行う
例えば、変数 $file に "xml" が含まれる事を確認するには下記のようにする。
if [[ $file == *xml ]] ;then
echo "xml"
fi
マシン情報
uname -a cat /proc/cpuinfo cat /proc/meminfo cat /proc/version cat /etc/redhat-release
ユーザー管理
現在のユーザー名を表示
$ whoami
uid, gidを表示
hogeユーザーのuid, gid を表示$ id hoge
グループにユーザーを追加
hogeユーザーを group1,group2,group3 に追加$ usermod -G group1,group2,group3 hoge
グループにログイン
group1にログイン$ newgrp group1
mount
iso
$ mount -t iso9660 -o loop isoFile mountPoint