dn.net/u014783674/article/details/24474991
https://blog.csdn.net/weixin_30537391/article/details/94850213
https://blog.csdn.net/zzusimon/article/details/57080337
/bin/bash -ilex dev_dev.shell
jenkins执行shell没mvn或者jdk权限
-e含义
每条指令之后,都可以用$?去判断它的返回值,零就是正确执行,非零就是执行有误,加了-e之后,就不用自己写代码去判断返回值,返回非零,脚本就会自动退出
-x 是调试用的,加了这个,就会把脚本中的每条命令的执行情况打印出来
i和l解释如下:
什么是交互式shell(interactive shell)和非交互式shell(non-interactive shell)
交互式的shell会有一个输入提示符,并且它的标准输入、输出和错误输出都会显示在控制台上。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、退出。当你退出后,shell也终止了。
非交互式shell是bash script.sh这类的shell。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾EOF,shell也就终止了。
什么是登录式shell(login shell)和非登陆式shell(no-login shell)
需要输入用户名和密码的shell就是登陆式shell。因此通常不管以何种方式登陆机器后用户获得的第一个shell就是login shell。不输入密码的ssh是公钥打通的,某种意义上说也是输入密码的。
非登陆式的就是在登陆后启动bash等,即不是远程登陆到主机这种。