文章目录
- 一、linux动态执行指定脚本
- 二、需求思路分析
- ①我要做什么?
- ②先手动执行一遍流程
- ③ 把执行命令记录下来
- 三、动态执行脚本
- ①手动制作脚本
- ②脚本升级
- ③ 脚本截图
一、linux动态执行指定脚本
- 脚本目录 /app/CodeQualityScan/gblfy_cx/
- 脚本名 sonar-scanner.sh
- 用户gblfy_cx
二、需求思路分析
①我要做什么?
用户gblfy_cx进入/app/CodeQualityScan/gblfy_cx/脚本目录执行sonar-scanner.sh
②先手动执行一遍流程
执行步骤 | 说明 |
---|---|
① | 先用root用户登录 |
② | 切换用户到gblfy_cx |
③ | 到指定目录 |
④ | 执行指定脚本 |
⑤ | 查看日志 |
③ 把执行命令记录下来
把手动执行的每一条命令,都记录下来,剩下的就是怎样写一个脚本,让脚本依次执行我们的命令即可
步骤 | 需求 | 执行命令 |
---|---|---|
① | 切换用户到gblfy_cx | su - gblfy_cx |
② | 到指定目录 | cd /app/CodeQualityScan/gblfy_cx/ |
③ | 执行指定脚本 | ./sonar-scanner.sh |
三、动态执行脚本
①手动制作脚本
执行步骤 | 说明 | 执行命令 |
---|---|---|
① | 新建一个脚本DynamicStartSonarShell.sh | vim DynamicStartSonarShell.sh |
② | 给此文件赋予可执行权限gblfy_cx | chmod u+x DynamicStartSonarShell.sh |
③ | 执行指定脚本 | ./DynamicStartSonarShell.sh |
脚本内容:
#!/bin/bash
#su - $1 -s /bin/bash /app/CodeQualityScan/gblfy_cx/sonar-scanner.sh
su -gblfy_cx <<EOF
cd /bin/bash /app/CodeQualityScan/gblfy_cx/;
./sonar-scanner.sh
exit;
EOF
②脚本升级
#格式:sh 脚本名 用户用 目录
sh DynamicStartSonarShell.sh gblfy_cx /bin/bash /app/CodeQualityScan/gblfy_cx/
注:只有root才可以,root切换到任何一个用户不需要输入密码,但,其他用户切换root用户或者其他用户都需要密码
脚本内容:
#!/bin/bash
#su - $1 -s /bin/bash /app/CodeQualityScan/gblfy_cx/sonar-scanner.sh
su - $1 <<EOF
cd $2;
./sonar-scanner.sh
exit;
EOF