goo blog サービス終了のお知らせ 
goo

bash read2

readの使い方その2
なぜか、zaurusでは、うまくいかんかった。
IFSの設定がうまくいかないんだよねぇ。

以下の方法が大丈夫そうなら、
#!/bin/bash
IFS="
"
for i in $(cat list);
do
 IFS=" ";
 DATA=($i);
 ${DATA[0]}に対しての処理・・・・
done
↑みたいな、いけてない処理をしなくてすむかもなぁ。。。





ファイルの中身:
a:b:c
b:b:c
c:b:c
d:b:c
e:b:c


while IFS=: read X Y Z
> do
> echo $X
> echo "--"
> echo $Y
> echo "--"
> echo $Z
> echo "--"
> done < ${file_name}


a
--
b
--
c
--
b
--
b
--
c
--
c
--
b
--
c
--
d
--
b
--
c
--
e
--
b
--
c
--
コメント ( 0 )

bash read

ファイル
data1 data2 data3
data4 data5 data6

while read a b c
do
:
done < ${ファイル}

dどんなコマンドでも、出力をパイプライン経由でreadに渡す事が
できるらしいんだけど、いまいち使い所がよくわかってない
コメント ( 0 )

bash 関数のreturn

fff () {
return "hoge"
}

myfunc

ってやっても、エラーが出ちゃう

fff () {
echo "hoge"
return
}
x=${fff "$@"}
echo $x

ってやったら、良い。


ちなみに、

関数の return は、終了ステータスを返すものとして使う事。

return $?

ってやったら、終了ステータスが明確になる。
コメント ( 0 )

bash unset

unsetする際には、$はいらん


unset $HOGE <--- ×
unset HOGE <--- ×

unset -f で、複数初期化できる
コメント ( 0 )

bash echoで16進数

echo {0,1,2,3}{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f} | xargs -n16


seqとか途中で織り交ぜて、短くならんもんかいな
コメント ( 0 )
« 前ページ 次ページ »