我们大学运行一个Oracle数据库服务器。我们在SSH上使用校园用户名/密码登录,然后rlwrap sqlplus自动启动,我们必须再次登录到数据库应用程序,使用另一个用户名和密码。
我想使用Windows上的Emacs在此服务器上编辑和运行简单的SQL脚本。我已经能够使用Tramp在其他SSH服务器上编辑文件,但由于某些原因(很可能是sqlplus的自动启动),我无法在数据库服务器上进行编辑。Emacs与Tramp: Waiting for prompts from remote shell挂起。
我还想在缓冲区中运行交互式SQL会话,因此我将上的代码插入到.emacs中,并进行了适当的修改
当我使用ssh连接到另一台服务器时,我使用'EOF‘标记在远程服务器上执行一些命令。但它们无法在远程服务器上执行命令。
另外,当没有启用无密码ssh连接时,如何从脚本输入密码而不要求用户输入密码?
$ su - oracle < passwd.txt
standard in must be a tty
我在/etc/profile.d/中放置了一个脚本
# default_dba.sh
if groups | grep -qw "dba" ;
then
if [ $USER != "oracle" ]; then
. /u00/scripts/oracle_alias
fi
fi
如果LDAP用户是dba组的成员,则scipt设置别名。这是可行的。LDAP用户启动一个python脚本。作为最后一步,python脚本调用一个新的bash shell
subprocess.call(['/bin/bash', '-i'], s
我正在尝试自动创建MySQL用户--所以我正在构建一个bash cron,它将动态地创建它们。问题是,当我创建它们时,我使用的是随机生成密码,它可以包括字符,如^、$、%等。
使用以下操作失败:
create_database=$(mysql --login-path=local -se "CREATE USER IF NOT EXISTS 'user'@'localhost' IDENTIFIED BY '1234!!ABC^@DEFGH';")
鉴于以下各项取得成功:
create_database=$(mysql --log
我有一个交互式bash脚本,它首先询问用户名,然后询问密码,然后再次确认密码。(它在我们的ERP系统中创建用户,而不是在Ubuntu中)
我有一个1000+用户的CSV和随机生成的密码,所以我必须创建所有这些用户。我想编写一个脚本,它从CSV中选择用户,然后当被问到密码时,它会从CSV传递密码来创建用户。以下是我所做的,但并没有达到预期的效果:
while IFS=,
read -a csv_line; do
createusr ${csv_line[0]}:${csv_line[1]}:${csv_line[1]};done < Desktop/Passwoerter.csv
这会
使用根user.After执行以下脚本切换用户Unix函数显示错误。 test.sh #!/bin/bash
fn_test()
{
echo "This is function"
}
whoami
fn_test
su - oracle<<EOF
whoami
fn_test #This function not called
EOF
exit 0
O/P
root $ ./test.sh
root
This is function
oracle
-ksh[2]: fn_test: not found [No such file or directory]
从根开始,我希望使用另一个$USER执行一个sql脚本。但我必须为$ORACLE_HOME设置正确的$PATH和$USER。
使用此命令,我将接收错误export: command not found
su - $USER -c "export ORACLE_HOME=$ORA_HOME;export PATH=$ORA_HOME/bin:$PATH;sqlplus / as sysdba"
我的问题是:从根开始执行脚本,如何为其他用户导出环境变量并使用该环境变量执行命令?