echo命令的几个比较常用或比较罕见的有用用法

  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid/gid is 1400/1400 is not allowed to access /tmp owned by uid/gid 0/0 in /home/wangxum1/public_html/site/includes/file.inc on line 190.
  • warning: realpath() [function.realpath]: SAFE MODE Restriction in effect. The script whose uid/gid is 1400/1400 is not allowed to access /tmp owned by uid/gid 0/0 in /home/wangxum1/public_html/site/includes/file.inc on line 190.

echo 就是把后面的东西显示出来,也就是再显示一遍,比如

gnawux@APTITUDE:~$ echo "Hello, world"
Hello, world

这样看来,没什么用,不过一般人不这么用,他可以:

  1. 用在脚本里,这样脚本就可以输出些信息了;
  2. 用变量替换,来查看一些信息,比如:


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

系统就直接刮起到硬盘了,呵呵,当然,这个需要内核支持