雷锋 发表于 2018-8-18 12:14:04

shell切换用户执行后面语句,su与su -的区别

  shell里如果需要切换用户,然后以指定用户的身份运行一些命令,
  比如需要用oracle用户向.bash_profile文件里写入一行“ORACLE_BASE=/oracle/app”的内容
  可以用下面的语句
  su - oracle.bash_profile
  exit
  !
  关于su和su -的区别
  切换用户是可以使用su tom或者su - tom来实现,但是两者有区别
  su只是切换身份,但shell环境仍然是原用户的shell
  su -是连用户的shell环境一起切换
  切换了shell环境,PATH的环境变量才有效
  举例子:
  比如说 root用户在/root/目录下, su tom,
  切换到了tom 用户,但是目录仍然在/root/下。
  如果使用su - tom
  你可以发现目录也切换到tom用户的家目录下
  这也是造成一些命令报错:command not found的原因

页: [1]
查看完整版本: shell切换用户执行后面语句,su与su -的区别