Linux 脚本内容指定用户执行
#!/bin/bash
set -x ## 因为这些变量在下面要用,所以要写在最上面, ## 如果直接写在下面,则变量获取不到,并且下面的 $ 标识的都要用 引号引起来,否则这些参数接收不到 tarfile=$1 tarfile_name=${tarfile##*/} echo "$tarfile"
echo "$tarfile_name" ## 切换用户,下面的命令都以这个用户创建文件获执行命令 su - admin <<EOF # 切换目录,因为切换用户后,目录变为 /home ,而不是在当前脚本执行的目录 cd /export/console_deploy # 判断输入参数是否为空 if [ ! -n "$1" ] || [ ! -n "$2" ] || [ ! -n "$3" ];then
echo "参数个数少于3个"
exit;
fi # 判断目录是否存在 if [ -d /export/App/"$3" ] ; then
echo "$3 目录已存在"
else
echo "创建目录 $3"
mkdir /export/App/"$3"
fi # 将变量tarfile 中的字符进行替换,变为新的url
wget ${tarfile//"要替换的字符"/"替换的字符"} # 解压下载的文件到指定目录 tar zxvf "$tarfile_name" -C ../console_deploy_pkgs /bin/rm -rf /export/App/"$3"/* # 解压 war 包 到指定的目录下
unzip "../console_deploy_pkgs/target/"$2".war" -d /export/App/"$3" # 替换application.properties 中的 spring.profiles.active= 的值
sed -i "s/spring.profiles.active=.*/spring.profiles.active=console_dev/g" /export/App/"$3"/WEB-INF/classes/application.properties /bin/rm -rf "$tarfile_name"
/bin/rm -rf ../console_deploy_pkgs/* /export/Shell/"$3"/tomcat EOF
Linux 脚本内容指定用户执行的更多相关文章
- ubuntu 指定用户执行脚本
方法 创建可执行脚本 以下以脚本名称为superset.sh为例,具体的脚本内容大家可以自己发挥. cd ~ vi superset.sh # 脚本内容自己写好后保存 修改脚本权限 sudo chmo ...
- shell脚本里切换用户执行命令的注意事项
功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下: #!/bin/bash su - DT<<EOF cd apache-to ...
- 【linux】让普通用户执行root的程序
再有些时候,比如zabbix监控中,需要使用netstat命令查看当前网络链接状态,但是zabbix用户没有权限执行netstat,会导致监控失败,为此使用如下即可解决 chmod +s /bin/n ...
- shell脚本中切换用户执行相应的命令或者shell脚本的方法
通常在执行自动化过程中可能需要将root用户切换到其他用户进行执行,如:oralce 但是,执行的命令又要回到root用户下,继续执行root用户下的其他命令. 此时需要了解 su 命令中的参数 -c ...
- 在浏览器中打开php文件时,是Linux中的哪个用户执行的?
https://segmentfault.com/q/1010000002541340 如题,这样我就可以针对这个用户设置权限了.而且这个用户是怎么关联上的,怎么查看? 解答一: .是执行 PHP 指 ...
- linux里面以指定用户运行命令
一.chroot方式 [root@localhost ~]# chroot --userspec "nginx:nginx" "/" sh -c "w ...
- SaltStack的salt-api里如何指定用户执行cmd.script
在杨威的协助下,命令行,API调用都完美搞定. 主要是RUNAS参数的位置,以及它作为CURL POST -D DATA的使用. salt '1.2.3.4' cmd.script "sal ...
- Linux脚本检测当前用户是否为root用户
#/bin/bash if [ $UID -ne 0 ]; then echo Non root user. Please run as root. else echo Root user fi
- Linux指定用户运行程序
参考:http://blog.useasp.net/archive/2015/07/29/run-command-as-different-user-on-linux.aspx 在实际中,我们有时候想 ...
随机推荐
- webgl 初识1
1. webgl是什么? WebGL其实是一个非常简单的API.好吧,“简单”可能是一个不恰当的描述. 它做的是一件简单的事,它仅仅运行用户提供的两个方法,一个顶点着色器和一个片断着色器, 去绘 ...
- Monkey自动化测试
Monkey简介 语法参数 实际应用 一.Monkey简介 1.什么是Monkey? 基于健壮性.稳定性的考虑:如果将一个应用交给一个人长时间不停地乱点乱按,程序会怎么样? 有时候运行相同系列的测试, ...
- daemon not running的解决办法
有时候,当我们执行 adb devices 或者 adb start-server 的时候,会出现下面的情况: * daemon not running. starting it now on por ...
- web项目访问路径上为什么不能写上WebContent
我们常常在WEB项目中要写很多的访问路径,比如说/good/target.jsp;目录结构中从来不会带有项目目录结构的WebContent?这到底的为什么呢? 我们知道WEB项目是放在容器上运行的,而 ...
- wp如何代码重启手机
用过windows phone手机操作系统的人都知道,wp的系统设置界面很长一串,我们并不能快速进入想要的设置项,更受不了的是有些常用的设置项竟然在最下边.因为前段时间没事做,于是乎写了个wp的工具类 ...
- python 序列化 pickle shelve json configparser
1. 什么是序列化 我们把变量从内存中变成可存储或传输的过程称之为序列化. 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上. 反过来,把变量内容从序列化的对象重新读到内存里称 ...
- Unified Networking Lab 安装使用IOL镜像
Unified Networking Lab 安装使用IOL镜像 Unified Networking Lab 很久以前,在一个星系远的地方,很远的工程师们为eBay寻找二手路由器来满足家庭实验的需求 ...
- redis2.8.xx安装配置
一.简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集 ...
- 利用MailSniper越权访问Exchange邮箱
0x01 概述 Microsoft Exchange用户可以授权给其他用户对其邮箱文件夹进行各种级别的访问.例如,用户可以授予其他用户读取访问其收件箱中里面的电子邮件,但是要是用户(或Exchange ...
- Subseq
Portal --> broken qwq Description 给你一个长度为\(n\)的整数序列,要支持以下两个操作: \((0,i,x)\):将第\(i\)个数改成\(x\) \((1 ...