gpt4 book ai didi

linux - 使用 "echo"通过管道传递值

转载 作者:太空宇宙 更新时间:2023-11-04 04:39:12 25 4
gpt4 key购买 nike

我正在使用Linux 2.6.x.x.x<br/>
SUSE Linux Enterprise Server 10 (i586)

我想知道的问题是如何通过管道将值传递给命令?
在所有其他操作系统上,包括DOS ,我可以使用:

echo <value> | <command>

但是在 Linux ,这似乎不起作用。

例如我想传递一个Database NameOracle设置 Environment Variables 的命令对于Database基于从 oratab 读取的内容文件。

通常,该命令将运行为:

 . oraenv   (to source environment variable settings)

然后,它会提示您输入数据库名称。

但是,如果我运行:echo <some_db_name> | . oraenv ,它无需提示即可运行,并且在除此版本的 Linux 之外的每个平台上的脚本中都很有用。

有什么想法吗?

$ <> /home/oracle>echo $SHELL   
/bin/bash

最佳答案

在 Unix 上,管道用于将一个程序的输出传递到另一个程序的输入中。

例如:

$ echo "b c a e d" | tr " " "\n" | sort 
a
b
c
d
e

来自http://www.orafaq.com/wiki/Oraenv

非交互式(方便编写脚本):

$ export ORACLE_SID=orcl
$ export ORAENV_ASK=NO
$ . oraenv

关于linux - 使用 "echo"通过管道传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150883/

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