zoukankan      html  css  js  c++  java
  • Shell编程知识2

    Linux下su与su -命令的本质区别

     su命令和su -命令最大的本质区别就是:

    前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;

    而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。

    su -,su -l 或 su --login 命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。用echo $PATH命令看一下su和su -以后的环境变量有何不同。不带参数的"su命令"不会改变当前工作目录以及 HOME,SHELL,USER,LOGNAME。只是拥有了root的权限而已。

    以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。

    su 和 su - 的区别

    su -: 会切换root用户,也会把用户变量也切换到root的环境变量
    
    su :  只是会切换root用户,但是当前的环境变量还是以前用户的环境变量

    shell 脚本各种执行方式(source ./*.sh, . ./*.sh, ./*.sh)的区别

    结论一: ./*.sh的执行方式等价于sh ./*.sh或者bash ./*.sh,此三种执行脚本的方式都是重新启动一个子shell,在子shell中执行此脚本。

    结论二: .source ./*.sh和 . ./*.sh的执行方式是等价的,即两种执行方式都是在当前shell进程中执行此脚本,而不是重新启动一个shell 而在子shell进程中执行此脚本。

  • 相关阅读:
    fileupload的乱码解决
    关于WEB-INF文件夹中的内容
    复习,关于server.xml的一点理解
    使用eclipse kepler,结果getServletContext可用了
    拷贝内容到eclipse中导致JSP的auto-completion不工作
    eclipse新建tomcat server但是总是报404的解决方法
    flex 自定义事件
    flex TweenLite
    flex 坐标系
    flex DataGroup
  • 原文地址:https://www.cnblogs.com/ucas123/p/14614572.html
Copyright © 2011-2022 走看看