shell不能执行su 后的脚本】的更多相关文章

问题:在shell脚本中执行“su – 用户名”后,脚本终止执行,并且切换到su 中指定用户名的交互式界面  现象:我在root中执行一个脚本,但是其中的一些命令或脚本必须用oracle用户来执行., [root@HZ-ITF- cron.d]# vi /data/itf/app/oracle/sync/test.sh #!/bin/bash set -x su - oracle sqlplus /nolog <<EOF conn hxy/hxy create table test1 as s…
在shell下执行命令的方法 1. #!/bin/sh 语法:在shell.sh的开头写入 #!/bin/sh 一般的shell脚本就是这种用法.这种方法调用脚本开头的shell执行命令,子shell执行的时候, 父shell暂停运行,等待子shell运行完后返回父shell.子shell从父shell继承环境变量.但是子shell中的环境变量不会带回父 shell 2. exec 语法: exec 命令 exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本. 被调用的脚本…
dep的前置脚本和后置脚本,什么时候写,是这样解释的:    前置脚本是在方法前执行,后置脚本是在方法后执行    1.比如保存扩展,如果你要在保存前校验某个字段的值,你要在前置脚本中写,如果要保存后,将数据更新到其他的单据,则在后置脚本中写    2.比如保存功能,如果在前置脚本写逻辑,则先会调用逻辑,再保存;如果在后置脚本写逻辑,则会先保存再调用逻辑.    dep的好处在于可以热部署, 不用每次都重启eas…
背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的.如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况. 安装expect 安装依赖:yum install tcl -y 安装expect:Centos系统yum install expect -y或Ubuntu系统ap…
转载: linux shell + expect:批量scp脚本工具             2011-09-13 15:51:06 分类: Python/Ruby 最近在准备一个部署的任务,其中有一项必须的过程就是将一些文件,如安装包发送到大量的服务器上去.虽然已有宇哥的脚本可用:通过paramiko模块提供的ssh和scp功能编写的python脚本.但我到现在还在对python的恐惧之中(虽然已经在空闲时间努力去学习了),所以我使用了shell和expect脚本结合的方式,写了这个批量scp…
Hive执行方式 Hive的hql命令执行方式有三种: 1.CLI 方式直接执行 2.作为字符串通过shell调用hive –e执行(-S开启静默,去掉"OK","Time taken") 3.作为独立文件,通过shell调用 hive –f或hive –i执行执行 方式1 键入"hive",启动hive的cli交互模式.Set可以查看所有环境设置参数,并可以重设.其他命令如, Use database 选择库 quit/exit 退出Hive的…
使用vim创建一个shell文件,命名 hello.sh #!/bin/bash echo "hello shell !" 在linux中进行加载 chmod +x ./hello.sh  #使脚本具有执行权限 ./hello.sh         #执行脚本 方法2:以绝对路径的方式去执行bash shell脚本: 代码如下:  /data/shell/hello.sh 方法3:在当前的shell环境中执行bash shell脚本: 代码如下: cd /data/shell . he…
问题描述: 之前用jenkins构建项目(maven项目)后都是通过ssh先将war文件推送到远程服务器,然后执行远程的脚本(更新项目,重启tomcat),一直没有出现问题,今天使用jenkins构建项目后直接执行本地的更新脚本(更新项目,重启tomcat服务),可是每次更新完成后tomcat进程就是起不来,看日志也是启动到一半就退出了,可是手动执行更新脚本却是正常的,所以我判断可能是项目构建完成会导致所有构建中的进程也停止,百度了一下还真有解决办法(参考博客):https://www.cnbl…
这条命令表示通过用户名和密码执行shell然后在shell里面执行一个建表语句: USER="root" PASS="root" mysql -u $USER -p$PASS <<EOF 2> /dev/null CREATE DATABASE um; EOF 下面的命令在登陆MySQL的时候指定了database(mysql): mysql -u $USER -p$PASS mysql <<EOF UPDATE user SET pa…