Jenkins执行shell脚本,提示“未找到命令”
2017-05-16 19:59
585 查看
背景 |
/tmp/hudson3008133988036917430.sh:行3: ng: 未找到命令
我们来分析一下出现此问题可能的原因:
Linux主机环境变量设置失败,登录Linux主机执行此命令仍会提示“命令未找到”
Jenkins配置原因,登录Linux主机可以正常执行此命令
解决方案 |
Jenkins下执行 ng build 命令会提示“命令未找到”,但是执行如 ls 等原生命令没有任何问题。在Linux主机是通过修改 /etc/profile 文件来配置环境变量,则问题可能是Jenkins在执行shell脚本时没有加载 /etc/profile 文件,因此找不到 ng 命令,会提示“命令未找到”。
Jenkins默认情况下执行shell脚本是使用非登录方式,然而非登录方式不会加载 /etc/profile 文件,在 Execute shell 中 添加如 #!/bin/sh -l 命令修改为登录方式即可解决问题。
#!/bin/sh -l cnpm install ng build rm -rfv /root/apache-tomcat-7.0.47/webapps/ROOT/dist mv dist /root/apache-tomcat-7.0.47/webapps/ROOT
相关文章推荐
- jenkins执行shell命令,有时会提示“Command not found”----处理方案
- droid代码库之执行Shell命令或者脚本
- linux下shell脚本执行方法及exec和source命令
- Jenkins执行shell脚本乱码解决办法
- BAT脚本如何自动执行 adb shell 以后的命令
- linux下单独执行命令有输出,CGI调用shell脚本,无输出
- 在shell脚本里执行sudo 命令
- 【source命令在shell脚本中执行为何不生效】source not working from within shell script
- shell脚本中顺序执行另几条shell命令
- Linux执行shell脚本方式及区别&命令后台运行
- shell脚本ssh到其它机器上执行命令
- linux下shell脚本执行方法及exec和source命令
- shell技巧--ssh远程执行包含nohup命令的脚本
- 在shell脚本里执行sudo 命令
- shell脚本实现每秒执行一次任务 rsync命令使用
- Linux/shell命令的实际应用——while;do;循环执行脚本
- shell脚本批量部署ssh认证+批量执行命令
- 在执行shell脚本命令的时候应该注意的问题
- java执行shell命令或者脚本,返回结果到程序
- 简易登录,批量执行命令,批量copy文件shell脚本【Linux运维之道之脚本案例】