Linux 将文本管道化到bash脚本中
当我的用户登录时,我需要手动输入以下内容,以便尝试创建一个脚本来为我执行此操作Linux 将文本管道化到bash脚本中,linux,bash,oracle,Linux,Bash,Oracle,当我的用户登录时,我需要手动输入以下内容,以便尝试创建一个脚本来为我执行此操作 . oraenv 应用程序要求我输入,所以我输入“M40”(每次输入相同的文本) 然后我必须运行linux应用程序来启动我的工作环境 那么,我如何自动输入M40,然后输入回车键呢?我不确定这些操作中是否有人对您有所帮助 echo M40 | . oraenv 这一个使用echo管道 printf M40 | . oraenv 这一个使用管道的printf。在某些情况下,使用echo与使用printf不同,但我不
. oraenv
应用程序要求我输入,所以我输入“M40”(每次输入相同的文本)
然后我必须运行linux应用程序来启动我的工作环境
那么,我如何自动输入M40,然后输入回车键呢?我不确定这些操作中是否有人对您有所帮助
echo M40 | . oraenv
这一个使用echo
管道
printf M40 | . oraenv
这一个使用管道的printf
。在某些情况下,使用echo
与使用printf
不同,但我不知道它们的实际区别
. oraenv <<< M40
这一个用来做自动输入,它在许多情况下有更多的可扩展性。请注意,根据您的实际情况更改
预期的“nput\”
部分。我不确定这些操作中是否有人对您有所帮助
echo M40 | . oraenv
这一个使用echo
管道
printf M40 | . oraenv
这一个使用管道的printf
。在某些情况下,使用echo
与使用printf
不同,但我不知道它们的实际区别
. oraenv <<< M40
这一个用来做自动输入,它在许多情况下有更多的可扩展性。请注意,根据您的实际情况更改
expect\'nput\
部分。oraenv
脚本提示您输入ORACLE\u SID
的值,因此您可以在.profile
或其他地方自行设置该值
export ORACLE_SID=M40
它还具有一个可设置为非交互式的标志:
ORAENV_ASK=NO
特别是关于管道输入,必须编写脚本来处理它,例如使用
read
或不带文件名的命令,如cat
。有关更多详细信息,请参阅。但是,这不是标准的oraenv
的编码方式(假设这是您正在使用的脚本)。oraenv脚本提示输入ORACLE\u SID
的值,因此您可以在.profile
或其他地方自行设置该值
export ORACLE_SID=M40
它还具有一个可设置为非交互式的标志:
ORAENV_ASK=NO
特别是关于管道输入,必须编写脚本来处理它,例如使用
read
或不带文件名的命令,如cat
。有关更多详细信息,请参阅。但是,这不是标准oraenv
的编码方式(假设您使用的是脚本)。这可能会起作用:echo“M40”|。oraenv
这可能会起作用:echo“M40”|。oraenv
expect
无法工作,因为spawn
创建了一个新的进程,即使您可以执行
(expect将尝试执行当前目录),它也无法更改环境(脚本可能就是这样做的)expect
无法工作,因为spawn
创建了一个新进程,即使您可以执行
(expect将尝试执行您当前的目录),它也无法更改环境(脚本可能就是这样做的)