标签:命令 参数 linux 普通用户 str 通用 最大 $path 一个
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 -命令。
shell 脚本各种执行方式(source ./*.sh, . ./*.sh, ./*.sh)的区别
结论一: ./*.sh的执行方式等价于sh ./*.sh或者bash ./*.sh,此三种执行脚本的方式都是重新启动一个子shell,在子shell中执行此脚本。
结论二: .source ./*.sh和 . ./*.sh的执行方式是等价的,即两种执行方式都是在当前shell进程中执行此脚本,而不是重新启动一个shell 而在子shell进程中执行此脚本。
标签:命令 参数 linux 普通用户 str 通用 最大 $path 一个
原文地址:https://www.cnblogs.com/ucas123/p/14614572.html