gpt4 book ai didi

bash - "echo exit |"中 "echo exit | sqlplus user/pass@ora_instance @file.sql"的目的是什么?

转载 作者:行者123 更新时间:2023-12-04 08:47:42 26 4
gpt4 key购买 nike

我从未见过有人将“退出”文字通过管道传递给命令执行。这是我试图理解的实际代码,

echo exit | sqlplus user/pass@ora_instance @file.sql
我可以理解后半部分没有任何问题,像这样的 sqlplus 文件执行不需要发出退出命令,因为这不是交互式 session ,不需要终止。但即使他们想通过标准输入退出,然后 < exit可能是合适的,我可能没有直接思考。帮我理解 echo exit |的目的
我试过这样的事情来理解,
host:/home/user#>echo exit | grep e
exit
host:/home/user#>echo exit | cd $GROOVY_HOME
host:/home/user#>
这帮助我理解这里的退出被视为文字而不是命令退出。 echo exit |似乎可以防止 cd $GROOVY_HOME从被处决但是,我不明白为什么!

最佳答案

原来echo exit |前面这样的命令很重要。我们不能通过附加 < exit 来替代它行为改变,SQLPLUS 命令失败,没有找到文件。
这个问题的答案是问题和接受的答案:
Make SQL*Plus script quit

# the proper way to close sqlplus if .sql file is not terminated properly.
echo exit | sqlplus user/pass@ora_instance @file.sql
shell 脚本别无选择,也许我们可以编辑 .sql 文件
# Using < to access standard input stream throws file not found error
sqlplus user/pass@ora_instance @file.sql < exit # Won't work
感谢@Aserre 的输入(有关更多信息,请参阅问题下的评论)。
总结为关闭。

关于bash - "echo exit |"中 "echo exit | sqlplus user/pass@ora_instance @file.sql"的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64225556/

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