sh/bash/dash/ksh/zsh等Shell脚本
-
lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
-
联系:
#1
帖子
由 lonelycorn » 2008-04-19 13:10
我写了一个脚本用来给我写的程序测试。
其中用到了(比如进程叫做xxx
pkill xxx
可是pkill却在屏幕上输出了一些话(“xxx已终止”),严重影响美观。
我的同学说,这是标准输出/标准错误。他说应当改成
pkill xxx &>/dev/null
我这样改了之后发现一点用也没有
请问应当怎么修改?
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……
代码: 全选
while :
do
work_hard
done
-
chinayem
- 帖子: 70
- 注册时间: 2007-06-11 21:08
- 来自: 江南水乡
#2
帖子
由 chinayem » 2008-04-19 16:07
默认的标准输出是输出到终端的,就和你说的第一行代码一样
而第二个代码中有了">",就把标准输出重新定向到/dev/null这个文件里啦,自然就不在终端里显示了呀
-
lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
-
联系:
#3
帖子
由 lonelycorn » 2008-04-19 19:43
可是关键问题就在于,我把输出重定向到了/dev/null但是还是在屏幕输出了。
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……
代码: 全选
while :
do
work_hard
done
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#4
帖子
由 eexpress » 2008-04-19 19:53
man bash 看完。看3次。
这些不理解的话。lin的好处少了一半。巨多软件等你用这些。
● 鸣学
-
fhqijeg
- 帖子: 9
- 注册时间: 2007-01-05 3:04
#5
帖子
由 fhqijeg » 2008-04-22 0:22
"command" 2>/dev/null
-
lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
-
联系:
#6
帖子
由 lonelycorn » 2008-04-22 12:19
现在我真的很郁闷。man bash的翻译令我恐惧。本来语文就是平均分,这篇又是这么晦涩难懂,而且 也没有什么样例。况且我也没什么时间。
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……
代码: 全选
while :
do
work_hard
done
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#7
帖子
由 BigSnake.NET » 2008-04-22 12:24
xxx已终止 是bash本身写的, 重定向没用
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
-
联系:
#8
帖子
由 bones7456 » 2008-04-22 12:29
上面已经有人说了,改成:
pkill xxx 2>/dev/null
-
sevk
- 帖子: 2060
- 注册时间: 2007-05-08 16:26
- 系统: arch
- 来自: 火星内核某分子内某原子核内
-
联系:
#9
帖子
由 sevk » 2008-04-22 12:29
pkill xxx &>/dev/null 这句中的 & 表示执行完了再执行 后面的?
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#10
帖子
由 BigSnake.NET » 2008-04-22 12:38
set +m 可以关掉任务控制, "xxx 已终止"的信息也不会输出
但是 & 运行时那个 PID 还是会输出来的..
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
-
联系:
#11
帖子
由 lonelycorn » 2008-04-22 22:14
BigSnake.NET说的对,这一行是bash自己产生的
我已经解决这个问题了
只要这样:
代码: 全选
{ pkill xxx &>/dev/null }&>/dev/null
这样这一句“废话”就被重定向到/dev/null了。
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……
代码: 全选
while :
do
work_hard
done