echo 命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
- 其中选项 n 表示输出文字后不换行;
- 字符串能加引号,也能不加引号;
- 用echo命令输出加引号的字符串时,将字符串原样输出;
- 用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
$ echo "hello world"
hello world
# 原样输出;
$ echo hello world
hello world
# 只保留一个空格;
1. echo 常用参数
-
-e:enable interpretation of backslash escapes
$ echo "\nhello world" \nhello world $ echo -e "\nhello world" hello world
2. env 命令
$PATH
是环境变量,重新 export $PATH=XXX
会覆盖他,一般我们只是想增加某个路径到 $PATH
,所以通过 $PATH=XXX:$PATH
的方式将新路径放在前面(优先级高);
env
是一个类 unix 系统下的 shell 命令。用以打印环境变量。使用 env 命令,相应的变量会被添加,或删除,通过对已存在的变量指定新值变量值也会发生改变。
实践中,env
还经常用在 shell 脚本中(作为 shabang),以为脚本的执行加载正确的解释器。
#!/usr/bin/env python2
print 'hello world'
3. sudo: root 用户和普通用户的切换
$ sudo -s
# 切换到 root 权限。提示符为#
#
当你觉得该退回到普通权限时,
sudo su username
# 退回到username 权限,提示符为$
exit
# 退出当前用户,回到上一层目录.
4. 使用 echo $? 返回上一条命令的返回值
返回值预示着命令的执行状态(status);
- 返回值为 0,表示执行成功;
- 返回值为其他,则表示执行失败;
$ source /etc/profile
$ echo $?
0
$ source /etc
bash: source: /etc/: is a directory
$ echo $?
1
$ mann ls
$ echo $?
127