gpt4 book ai didi

tcsh - 从 .aliases 重定向 tcsh 中的 STDERR

转载 作者:行者123 更新时间:2023-12-03 22:35:03 28 4
gpt4 key购买 nike

在 tcsh 中,我试图从我的 .aliases 文件中的命令重定向 STDERR。

我发现我可以像这样从命令行重定向 STDERR。 . .

$ (xemacs > /dev/tty) >& /dev/null

. . .但是当我把它放在我的 .aliases 文件中时,我得到了一个别名循环。 . .
$ cat .aliases
alias xemacs '(xemacs > /dev/tty ) >& /dev/null'
$ xemacs &
Alias loop.
$

. . .所以我在 .aliases 中的命令之前放了一个反斜杠,它允许命令运行。 . .
$ cat .aliases
alias xemacs '(\xemacs > /dev/tty ) >& /dev/null'
$ xemacs &
[1] 17295
$

. . .但现在我不能给命令任何参数:
$ xemacs foo.txt &
Badly placed ()'s.
[1] Done ( \xemacs > /dev/tty ) >& /dev/null
$

任何人都可以提供任何解决方案吗?先感谢您!

更新:我仍然很好奇是否可以从 .aliases 重定向 tcsh 中的 STDERR,但正如这里所建议的,我最终得到了一个 shell 脚本:
#!/bin/sh
# wrapper script to suppress messages sent to STDERR on launch
# from the command line.
/usr/bin/xemacs "$@" 2>/dev/null

最佳答案

我怀疑在这种情况下,不使用别名是最好的选择 - 尝试使用 shell 脚本:

#!/bin/tcsh

(xemacs $* > /dev/tty ) >& /dev/null

关于tcsh - 从 .aliases 重定向 tcsh 中的 STDERR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/136233/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com