shell
次のようなitems.xmlを作って、 <items> <item>foo</item> <item>bar baz</item> <item>qux</item> </items> bashで $echo "cat /items/item[2]" | xmllint --shell items.xmlしたときは / > ------- <item>bar baz</item> / >ってなるけど、 #!/bin/sh echo "cat /items/item[2]" | xmllint --shell items…
if文 elseが無いif文はこんな感じ if 条件式 then 処理 fi then節とelse節がある場合 if 条件式 then 処理1 else 処理2 fi else ifみたいなのが付く場合 if 条件式1 then 処理1 elif 条件式2 then 処理2 elif 条件式3 then 処理3 else 処理4 fi case文 switc…
例えばファイル「sample.dat」が存在するかどうか調べるとき test -f sample.dat または [ -f sample.dat ] とできる。-fが演算子でsample.datが被演算子みたいな感じかな?ファイルの存在以外にも、以下のようにいろいろな判断ができるそうだ。「真」という…
$argv 引数を格納した配列 $1, $2, $3,... 1番目、2番目、3番目...の引数 $# 引数の個数 $@ すべての引数(区切り文字はスペース) $* すべての引数(区切り文字はIFSの値) $? 直前に実行したコマンドの終了ステータス
あるぇ?僕の環境(zs 4.3.10 i686-pc-linux-gnu)で、次のスクリプトが意図したとおりに動かない。 echo "arg1: $argv[1]" echo "arg2: $argv[2]" echo "arg3: $argv[3]" 実行結果は以下。 ./argv.sh foo bar baz arg1: [1] arg2: [2] arg3: [3]
ls | wc -l ってやるとファイルの数を数えられることが理解できずにいた。 だって、 wc -l 改行文字を数えるコマンドでしょ?今居るディレクトリはファイル数は少ないし ls の結果は一行だよ? とか思いつつ、 ls > list.txt cat list.txt ってやってみたら…