echo 就是把后面的东西显示出来,也就是再显示一遍,比如
gnawux@APTITUDE:~$ echo "Hello, world"
Hello, world
这样看来,没什么用,不过一般人不这么用,他可以:
- 用在脚本里,这样脚本就可以输出些信息了;
- 用变量替换,来查看一些信息,比如:
gnawux@APTITUDE:~$ echo "my \$PS1 variable is $PS1"
my $PS1 variable is ${debian_chroot:+($debian_chroot)}\u@\h:\w\$
满诡异吧,呵呵
另外还可以用 -e 参数,会有一些变化,比如
gnawux@APTITUDE:~$ echo -e "here...\c";echo "no CR"
here...no CR
看到了吧,用 \c 不换行,不过不换行有一个更简单的命令开关,就是直接用 echo -n,比如
gnawux@APTITUDE:~$ echo -n "here...";echo "no CR"
here...no CR
还可以用 ANSI 彩色,当然,你的term 要支持,(别问我term是什么哦)
gnawux@APTITUDE:~$ echo -e "\033[031;mred\033[0;m"
red
嗯,除此之外,echo 还可以和重定向结合起来,向文件写入,乃至利用sysfs, procfs 进行一些系统行为的调控,比如
echo -n 'disk' > /sys/power/state
系统就直接刮起到硬盘了,呵呵,当然,这个需要内核支持