LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1156|回复: 7

有些命令后面加上&,有什么作用?

[复制链接]
发表于 2008-4-26 20:18:12 | 显示全部楼层 |阅读模式
请教大家 ,如题!
发表于 2008-4-26 20:56:44 | 显示全部楼层
告诉计算机这个指令完成之后继续执行下一个.
比如 make && make install
就是说编译完了之后自动安装.
回复 支持 反对

使用道具 举报

发表于 2008-4-26 21:02:17 | 显示全部楼层
在后台运行,这时你可以在终端继续输入其它命令。

你可以写个SHELL脚本测试下:
  1. #!/bin/bash
  2. echo "睡眠 10 秒开始"
  3. sleep 10
  4. echo "睡眠 10 秒结束"
  5. exit 0
复制代码

保存为 x.sh
$ chmod +x x.sh
$ x.sh &
$ jobs


小提示:如果你要在退出终端时让程序仍然执行,可用
$ nohup ./x.sh &
输出会保存在 nohup.out 中。
回复 支持 反对

使用道具 举报

发表于 2008-4-26 23:57:35 | 显示全部楼层
Post by deepwhite;1842891
告诉计算机这个指令完成之后继续执行下一个.
比如 make && make install
就是说编译完了之后自动安装.

楼主问的是在命令结尾加一个&,代表将命令放入后台运行。

&&实际是指当前一个命令成功执行后,也就是返回给shell的值为0时,才执行下一条指令。所以,在make && make install中,只有当make正确执行,没有出错的情况下才执行make install

如果不用判断前一个命令是否成功执行,只是顺序执行一组命令,直接用;号分隔命令即可,如 make ; make install

与&&使用类似,还有||,command1 || command2,代表只有当command1没有成功执行时,才执行command2
回复 支持 反对

使用道具 举报

发表于 2008-4-27 00:08:26 | 显示全部楼层
感谢,学习了。
回复 支持 反对

使用道具 举报

发表于 2008-4-27 23:14:38 | 显示全部楼层
看看shell版,有很多基础知识的说明
回复 支持 反对

使用道具 举报

发表于 2008-4-28 01:05:20 | 显示全部楼层
在后台执行的意思。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-4-28 09:38:07 | 显示全部楼层
谢谢,学习了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表