#!/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 脚本内容指定用户执行的更多相关文章

  1. ubuntu 指定用户执行脚本

    方法 创建可执行脚本 以下以脚本名称为superset.sh为例,具体的脚本内容大家可以自己发挥. cd ~ vi superset.sh # 脚本内容自己写好后保存 修改脚本权限 sudo chmo ...

  2. shell脚本里切换用户执行命令的注意事项

    功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下: #!/bin/bash su - DT<<EOF cd apache-to ...

  3. 【linux】让普通用户执行root的程序

    再有些时候,比如zabbix监控中,需要使用netstat命令查看当前网络链接状态,但是zabbix用户没有权限执行netstat,会导致监控失败,为此使用如下即可解决 chmod +s /bin/n ...

  4. shell脚本中切换用户执行相应的命令或者shell脚本的方法

    通常在执行自动化过程中可能需要将root用户切换到其他用户进行执行,如:oralce 但是,执行的命令又要回到root用户下,继续执行root用户下的其他命令. 此时需要了解 su 命令中的参数 -c ...

  5. 在浏览器中打开php文件时,是Linux中的哪个用户执行的?

    https://segmentfault.com/q/1010000002541340 如题,这样我就可以针对这个用户设置权限了.而且这个用户是怎么关联上的,怎么查看? 解答一: .是执行 PHP 指 ...

  6. linux里面以指定用户运行命令

    一.chroot方式 [root@localhost ~]# chroot --userspec "nginx:nginx" "/" sh -c "w ...

  7. SaltStack的salt-api里如何指定用户执行cmd.script

    在杨威的协助下,命令行,API调用都完美搞定. 主要是RUNAS参数的位置,以及它作为CURL POST -D DATA的使用. salt '1.2.3.4' cmd.script "sal ...

  8. Linux脚本检测当前用户是否为root用户

    #/bin/bash if [ $UID -ne 0 ]; then echo Non root user. Please run as root. else echo Root user fi

  9. Linux指定用户运行程序

    参考:http://blog.useasp.net/archive/2015/07/29/run-command-as-different-user-on-linux.aspx 在实际中,我们有时候想 ...

随机推荐

  1. static关键字的新用法

    static关键字的新用法和总结: static这个关键字,也可以像“self”一样,代表“当前类”,用于访问一个类的“静态属性或静态方法”: 但, static,在应用中,更灵活,因此更常见! 因为 ...

  2. Maven 私服安装和启动

    在安装私服的时候容易碰到的两个问题,一个是安装时拒绝访问,另一个是安装完成后服务无法启动: 拒绝访问问题: 原因:没有以管理员身份运行 cmd 解决办法: 如果是 win7 的话,可以直接在 [运行- ...

  3. postgis_LayerTransform

    [转] postgis_LayerTransform 一个在postgis中结合中国国情,批量对数据进行加偏到百度坐标,高德谷歌的火星坐标,或者逆向纠偏 安装: 在postgresql-postgis ...

  4. vue h render function & render select with options bug

    vue h render function & render select with options bug https://github.com/xgqfrms/vue/issues/41 ...

  5. vue shorthands

    vue shorthands : & @ https://vuejs.org/v2/guide/syntax.html#Shorthands v-for https://vuejs.org/v ...

  6. Testng 运行Cannot find class in classpath

    用Testng运行多个class,结果报: org.testng.TestNGException: Cannot find class in classpath: Salesman     at or ...

  7. CSS预处理语言-less 的使用

    Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量.Mixin.函数等特性,使 CSS 更易维护和扩展. Less 可以运行在 Node 或浏览器端. Less的编译处理 作为一 ...

  8. 【JavaScript】table显示问题

    table有时显示出问题,解决办法如下: 添加<thead></thead>和<tbody></tbody>在table的外面添加<div> ...

  9. 计算机网络:A、B、C、D和E类IP地址

    IP地址分为A,B,C,D,E五类. 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用.这三种是主要的. IP ...

  10. Oracle 多表关联并且批量修改

      描述:A表有 id,or_id 字段,B表有 id,code 字段   A表有  or_id 与B表的  id 关联,现要将A.or_id 替换成  B.code 数据    UPDATE  AS ...