スクリプト/コマンド入力
|
実行結果
|
declare
|
(declareの内容)
declare XXX=xxx
declare -x YYY=yyy
echo "XXX=$XXX"
echo "YYY=$YYY"
bash declare2
(declare2の内容)
echo "you entered in declare2"
printenv
echo "XXX=$XXX"
echo "YYY=$YYY"
|
$ ./declare
XXX=xxx
YYY=yyy
you entered in declare2
(printenvの結果前半部分略)
HOME=/home/toshim
YYY=yyy
SHELL=/bin/bash
(printenvの結果後半部分略)
YYY=yyy
XXX=
|
declare -r XXX=xxx
XXX=xxxxx
|
XXX: read-only variable
|
eval
|
COM=echo
ARG="test for eval"
eval $COM $ARG
|
test for eval
|
hash
|
| |
$ hash
hits command
1 /usr/bin/less
0 /bin/ls
|
| |
$ hash vi
$ hash
hits command
1 /usr/bin/less
0 /bin/ls
0 /bin/vi
|
fc
|
| |
$ fc
(直前に実行したコマンドがエディタに読込まれる)
(編集してエディタを終了すると,編集したコマンドが実行される)
|
| |
$ fc 1001 1005
(1001番から1005番までのコマンドがエディタに読込まれる)
(編集してエディタを終了すると,編集した複数のコマンドが実行される)
|
| |
$ fc echo ls
(echoコマンドからlsコマンドまでの間にあるコマンドがエディタに読込まれる)
(編集してエディタを終了すると,編集した複数のコマンドが実行される)
|
| |
$ fc -10
(10個前のコマンドがエディタに読込まれる)
(編集してエディタを終了すると,編集したコマンドが実行される)
|
| |
$ fc -l
1001 echo "history #1000"
(途中省略)
1016 ls -l
|
| |
$ fc -lr
1016 ls -l
(途中省略)
1001 echo "history #1000"
|
| |
$ fc -ln
echo "history #1000"
(途中省略)
ls -l
|
| |
$ fc -s
(直前に実行したコマンドが実行される)
|
| |
$ echo history test
history test
$ fc -s test=practice
echo history practice
history practice
|
| |
$ echo aaa
aaa
$ cat aaa
file aaa
$ fc -s aaa=bbb echo
echo bbb
bbb
|
time
|
|
$ time ls
echo1 x1 x2 x3 x4 xxx xxx1 xxx2 ←lsの出力
0.01user 0.01system 0:00.15elapsed 12%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (91major+14minor)pagefaults 0swaps
|
trap
|
|
$ trap 'echo "Trapped!!"' 10
$ kill -s 10 1523 ←1523は自分自身のプロセスID
Trapped!!
|
let
|
n=0
if let $n; then
echo true
else
echo false
fi
|
false
|
n=1
if let $n; then
echo true
else
echo false
fi
|
true
|
n=1
if let $n-1; then
echo true
else
echo false
fi
|
false
|