shell脚本里切换用户执行命令的注意事项
2015-05-13 22:11
676 查看
功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下:
当时以为su - DT就跟在交换界面执行一样会把环境也切换过去,所以在分界符EOF里用的是相对路径,结果一运行就报错:
然后就做了个测试,脚本如下:
结果如下:
从这里可以看出来su - DT<<只是把用户切过去了但环境变量还是root,所以在EOF分界符里的语句都得用绝对路径。
#!/bin/bash su - DT<<EOF cd apache-tomcat-7.0.54/bin sh startup.sh EOF
当时以为su - DT就跟在交换界面执行一样会把环境也切换过去,所以在分界符EOF里用的是相对路径,结果一运行就报错:
-bash: line 8: cd: apache-tomcat-7.0.54/bin: 没有那个文件或目录
然后就做了个测试,脚本如下:
#!/bin/bash echo "`pwd`" su - DT<<EOF echo "`pwd`" EOF
结果如下:
[root@localhost ~]# sh test.sh /root /root
从这里可以看出来su - DT<<只是把用户切过去了但环境变量还是root,所以在EOF分界符里的语句都得用绝对路径。
相关文章推荐
- shell脚本里切换用户执行命令的注意事项
- Shell脚本中实现切换用户并执行命令操作
- Shell脚本中实现切换用户并执行命令操作【转】
- shell脚本中切换用户并执行命令
- Shell脚本中实现切换用户并执行命令操作
- shell脚本中切换用户执行相应的命令或者shell脚本的方法
- 在linux shell脚本中root切换到普通用户执行脚本或命令
- 在linux shell脚本中root切换到普通用户执行脚本或命令的方法
- shell 脚本 指定用户执行命令
- expect 切换用户后自动执行shell命令
- shell,切换用户,执行指定,脚本
- Linux(7) 常用命令扩展 改变用户环境变量 (可以实现登陆就执行shell脚本)
- linux shell脚本中切换用户执行命令方法
- linux 普通用户登录后,执行 shell脚本切自动输入密码切换到root
- 在shell脚本中以其他用户身份执行命令
- 开关机自动执行脚本方法[以及切换用户执行命令方法]
- 如何在shell下切换用户执行命令?
- 在执行shell脚本命令的时候应该注意的问题
- 如何在shell下切换用户执行命令?
- shell命令切换用户执行令的几种方法