首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >shell >& operator?

shell >& operator?
EN

Stack Overflow用户
提问于 2012-04-09 14:39:00
回答 2查看 1.1K关注 0票数 1

我有一个问题,我认为什么是操作员或论点传递者,但谷歌没有发现任何东西。它所包含的脚本是

代码语言:javascript
复制
#!/bin/sh
ln mopac.in FOR005
mopac >& FOR006
mv FOR006 mopac.out

当我调用"mopac mopac.in“时,程序运行得很好,但是,出于我的需要,mopac是通过使用这个脚本在另一个程序中调用的,但是似乎输入文件无法通过,所以mopac没有运行。我不明白">&“应该做什么,所以我在故障排除时遇到了问题。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-09 14:47:57

>& FILE是不推荐使用的bash (来自csh)对> FILE 2>&1的简写,即重定向标准输出和标准错误。(如果/bin/sh不是bash,这在许多Linux发行版上都是正确的,这将导致一个错误。)较老的bash (3.0之前)更喜欢这种形式,所以大多数较新的bash仍然可以理解它,尽管可能是最近的bash最终删除了它,因为他们似乎终于删除了最近不推荐使用的构造。

您的脚本根本没有传递mopac.in,但似乎假定mopac将从FOR005读取其输入,因此使用ln使其可用。也许您应该将脚本更改为将mopac.in作为参数读取,就像您直接运行它一样。

票数 2
EN

Stack Overflow用户

发布于 2012-04-09 14:49:26

解释在这里:http://tldp.org/LDP/abs/html/io-redirection.html

代码语言:javascript
复制
>&j
  # Redirects, by default, file descriptor 1 (stdout) to j.
  # All stdout gets sent to file pointed to by j.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10069831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档