如何创建shell脚本以登录到oracle数据库并运行存储过程

如何创建shell脚本以登录到oracle数据库并运行存储过程,shell,unix,Shell,Unix,我正在尝试创建一个UNIX命令,但不知道如何创建 我想要一个关键字,我可以在提示符中的任何位置运行它,就像PWD、CD等,它将从unixshell脚本登录到Oracle数据库,在数据库中运行一个过程 我最大的问题是想在shell脚本中隐藏数据库登录信息 我尝试创建一个shell脚本,其中有一行,如下所示 sqlplus用户名/passwod@database_name 现在,我想将其转换为编译代码,以便其他用户无法以明文形式读取我的登录信息 在unix系统上如何执行此操作?听起来您希望开发一个脚

我正在尝试创建一个UNIX命令,但不知道如何创建

我想要一个关键字,我可以在提示符中的任何位置运行它,就像PWD、CD等,它将从unixshell脚本登录到Oracle数据库,在数据库中运行一个过程

我最大的问题是想在shell脚本中隐藏数据库登录信息

我尝试创建一个shell脚本,其中有一行,如下所示

sqlplus用户名/passwod@database_name

现在,我想将其转换为编译代码,以便其他用户无法以明文形式读取我的登录信息


在unix系统上如何执行此操作?

听起来您希望开发一个脚本,使用密码登录到数据库,并在不与用户交互的情况下运行一些命令。如果脚本位于共享计算机上,则您的选项归结为创建一个密码为纯文本的脚本,但仅对您可读(
chmod 700 file.sh
)。使用加密/模糊密码创建脚本并不更安全——拥有脚本读取权限的人只需复制命令即可

您还可以启用无密码登录:

  • ,即,使用允许在服务器上运行查询而无需密码的用户登录到DB服务器
  • 其他一些特权转发
  • 白名单你的主人

听起来您想开发一个脚本,使用密码登录数据库,并在没有用户交互的情况下运行一些命令。如果脚本位于共享计算机上,则您的选项归结为创建一个密码为纯文本的脚本,但仅对您可读(
chmod 700 file.sh
)。使用加密/模糊密码创建脚本并不更安全——拥有脚本读取权限的人只需复制命令即可

您还可以启用无密码登录:

  • ,即,使用允许在服务器上运行查询而无需密码的用户登录到DB服务器
  • 其他一些特权转发
  • 白名单你的主人
我会考虑使用,而不是混淆…

我会考虑使用,而不是混淆…

您可以使用
shc(shell脚本编译器)
为脚本创建二进制文件

$shc -f myscript.sh
这将创建一个名为:
myscript.sh.x
的二进制文件,它将执行您所期望的操作(隐藏登录)。但每次更改密码或用户名时,都必须重新编译并创建二进制文件

如果要使其在任何地方都可用,只需将其添加到PATH变量:

$export PATH=$PATH:/your/binary/location/
您可以使用shc(shell脚本编译器)为脚本创建二进制文件

$shc -f myscript.sh
这将创建一个名为:
myscript.sh.x
的二进制文件,它将执行您所期望的操作(隐藏登录)。但每次更改密码或用户名时,都必须重新编译并创建二进制文件

如果要使其在任何地方都可用,只需将其添加到PATH变量:

$export PATH=$PATH:/your/binary/location/

我不知道为什么这个问题被否决了。。如果你投了反对票,请给出理由。编辑问题并向我们展示你的尝试。不知道为什么这个问题被否决。。如果您投了反对票,请给出原因。编辑问题并向我们展示您的尝试。是否可以通过脚本在配置文件文件中执行和设置此导出命令?您只需将该行添加到主目录中的.profile或.bash_rc或.bash_配置文件(取决于您的shell)。配置文件是特定于用户的,所以您不必担心会出现在那里。只要没有人知道你保存二进制文件的位置,你就不必担心这个问题。。对于配置文件文件夹,我是否必须从任何系统变量获取文件夹路径。。或者它是否在文件夹中是静态的,我可以打开并附加.profile文件?这表明在我的机器中找不到sch。。我是否要从任何文件夹导出此命令。。如果你知道的话,请告诉我那个文件夹路径。它是shc。若它不在那个里,那个么你们可以从互联网上下载并在linux上安装它。您可以从任何地方运行“导出”。创建“myscript.sh.x”后,只需将其路径添加到path变量。是否可以通过脚本在配置文件文件中执行和设置此导出命令?您只需将该行添加到主目录中的.profile或.bash_rc或.bash_配置文件(取决于您的shell)。配置文件是特定于用户的,所以您不必担心会出现在那里。只要没有人知道你保存二进制文件的位置,你就不必担心这个问题。。对于配置文件文件夹,我是否必须从任何系统变量获取文件夹路径。。或者它是否在文件夹中是静态的,我可以打开并附加.profile文件?这表明在我的机器中找不到sch。。我是否要从任何文件夹导出此命令。。如果你知道的话,请告诉我那个文件夹路径。它是shc。若它不在那个里,那个么你们可以从互联网上下载并在linux上安装它。您可以从任何地方运行“导出”。创建“myscript.sh.x”后,只需将其path添加到path变量。