Linux 登入Shell 与非登入Shell 的区别

  • A+
所属分类:Linux
高性能企业级服务器首台5折

根据 Shell 是登入 Shell 还是非登入 Shell,其运行的启动脚本是不一样的。

通常,“su - ” 表示登入 shell,“su ” 表示非登入 shell。二者区别是:

  1.  登入shell

/etc/profile 是登入 shell 启动后运行的第一个启动脚本,它只为登入 shell 运行,非登入 shell 不会引发这个脚本。

登入 shell 加载启动脚本的顺序为:

  1. 1
    <span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">profile </span><span class="pun">→</span> <span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">profile</span><span class="pun">.</span><span class="pln">d </span><span class="pun">→</span> <span class="pun">.</span><span class="pln">bash_profile </span><span class="pun">→</span> <span class="pun">.</span><span class="pln">bashrc </span><span class="pun">→</span> <span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">bashrc</span>

在退出登入 shell 时,我们还可以执行某些任务,如创建自动备份、清除临时文件。可以把这些任务放在 .bash_logout 文件中。

二. 非登入 shell

非登入 shell 加载启动脚本的顺序:

  1. 1
    <span class="pun">.</span><span class="pln">bashrc </span><span class="pun">→</span> <span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">bashrc </span><span class="pun">→</span> <span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">profile</span><span class="pun">.</span><span class="pln">d</span>

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: