スクリプト/コマンド入力
|
実行結果
|
カッコ展開
|
echo x{a,b,c,d}y
|
xay xby xcy xdy
|
チルダ展開
|
echo ~
|
/home/toshim
|
echo ~root
|
/root
|
echo ~+
|
/home/toshim/work
|
pushd /etc
popd
echo ~-
|
/etc
|
シェルパラメータ
|
para1=ValueOfPara1
echo $para1
|
ValueOfPara1
|
(scr1というスクリプトファイルの内容)
echo $1
|
$ scr1 a b c d e f g
a
|
(scr1というスクリプトファイルの内容)
echo $2
|
$ scr1 a b c d e f g
b
|
(scr1というスクリプトファイルの内容)
echo $0
|
$ scr1 a b c d e f g
scr1
|
(scr1というスクリプトファイルの内容)
echo $*
|
$ scr1 a b c d e f g
a b c d e f g
|
(scr1というスクリプトファイルの内容)
echo $@
|
$ scr1 a b c d e f g
a b c d e f g
|
(scr1というスクリプトファイルの内容)
echo $#
|
$ scr1 a b c d e f g
7
|
(scr1というスクリプトファイルの内容)
ret-1 ← 返り値として1を返すプログラム
echo $?
|
$ scr1
1
|
(scr1というスクリプトファイルの内容)
echo $$
|
$ scr1
4873
|
(scr1というスクリプトファイルの内容)
echo $$
cat &
echo $!
|
$ scr1
5128
5130
|
| コマンド置換え
|
echo `hostname`
|
test.glasscom.com
|
echo $(pwd)
|
/home/toshim/work
|
| 算術展開
|
echo $(( 10 + 20 ))
|
30
|
var1=25
echo $(( $var1 + 30 ))
|
55
|
| プロセス置き換え
|
cat <(echo abcdef)
|
abcdef
|
ファイル名展開
|
(aaa,aab,aac,aba,aca,ada,abc,bbb,bcbというファイルがあるものとする)
echo a*
|
aaa aab aac aba aca ada abc
|
(aaa,aab,aac,aba,aca,ada,abc,bbb,bcbというファイルがあるものとする)
echo a?a
|
aaa aba aca ada
|
(aaa,aab,aac,aba,aca,ada,abc,bbb,bcbというファイルがあるものとする)
echo a[abc]a
|
aaa aba aca
|
(aaa,aab,aac,aba,aca,ada,abc,bbb,bcbというファイルがあるものとする)
echo a[a-c]a
|
aaa aba aca
|
(aaa,aab,aac,aba,aca,ada,abc,bbb,bcbというファイルがあるものとする)
echo a[!b]a
|
aaa aca ada
|