Chinaunix

标题: su user -c " "的定向错误 [打印本页]

作者: lengyuecau    时间: 2008-12-05 11:32
标题: su user -c " "的定向错误
(root) # su user1 -c "echo a >/dev/null 2>&1"
Ambiguous output redirect

(root) # su user1 -c "echo a >/dev/null " 2>&1
(root) #  echo $?
0


问题的原因是"2>&1"引起的,但是我想知道为什么shell会有“Ambiguous”的错误,是和su -c里面的命令出现了“Ambiguous”的问题?
多谢
作者: yezhulin1982    时间: 2008-12-05 11:48
在我的bash环境中测试没问题,不知楼主使用的是什么shell?
作者: yezhulin1982    时间: 2008-12-05 11:50
要不使用
(root) # su user1 -c "echo a >&/dev/null"

(root) # su user1 -c "echo a &>/dev/null"
试试
作者: lengyuecau    时间: 2008-12-05 11:52
原帖由 yezhulin1982 于 2008-12-5 11:48 发表
在我的bash环境中测试没问题,不知楼主使用的是什么shell?


脚本里面的,用的是/bin/sh
但是此问题在tcsh,bash上均存在

bash-3.00# su user1 -c "echo a >/dev/null 2>&1"
Ambiguous output redirect
bash-3.00#
作者: cuteorange    时间: 2008-12-05 11:54
标题: 回复 #4 lengyuecau 的帖子
千万不能让它沉下去阿
作者: waker    时间: 2008-12-05 11:55
su user1 -c 'echo $0'
作者: cuteorange    时间: 2008-12-05 11:57
标题: 回复 #6 waker 的帖子
得到切换过去的shell有什么用?
作者: yezhulin1982    时间: 2008-12-05 13:22
[xfm@ubuntu:~]$ bash --version
GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
我的bash是3.2.39的,比你的版本高很多。
作者: yezhulin1982    时间: 2008-12-05 13:22
原帖由 yezhulin1982 于 2008-12-5 11:50 发表
要不使用
(root) # su user1 -c "echo a >&/dev/null"

(root) # su user1 -c "echo a &>/dev/null"
试试


不知道我所说的方法,你测试没有?
作者: lengyuecau    时间: 2008-12-05 13:28
原帖由 yezhulin1982 于 2008-12-5 13:22 发表


不知道我所说的方法,你测试没有?

恩,测试了,这个可以。
但是我想知道Ambiguous output redirect是什么原因导致的。

其实遇到这个问题,是因为当时有一个命令,就像“echo a >/dev/null 2>&1”这样,
之前是用root执行的,后来要改成其他的用户执行
我就把之前的命令放在 su user1 -c 后的引号里面
结果,就出了这个问题。
作者: yezhulin1982    时间: 2008-12-05 15:11
标题: 回复 #10 lengyuecau 的帖子
既然方法可用就行了,说不定是你的bash版本低的问题引起的。
作者: lengyuecau    时间: 2008-12-13 00:26
原帖由 yezhulin1982 于 2008-12-5 15:11 发表
既然方法可用就行了,说不定是你的bash版本低的问题引起的。

多谢多谢!
作者: biglazybug    时间: 2008-12-13 08:28
学习了!
作者: kns1024wh    时间: 2008-12-13 12:54
标题: 回复 #1 lengyuecau 的帖子
(root) # 这个的运行级别有问题呀
作者: yezhulin1982    时间: 2008-12-13 14:19
原帖由 kns1024wh 于 2008-12-13 12:54 发表
(root) # 这个的运行级别有问题呀


有什么问题???




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2