日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell的交互式和非交互式登录

發布時間:2023/12/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell的交互式和非交互式登录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

工作中經常碰見環境變量加載問題,歸根結底就是配置文件的加載問題。

一般會有四種模式:交互式登陸、非交互式登陸、交互式非登陸、非交互非登陸。

交互式和非交互式對環境變量的加載:

+----------------+--------+-----------+---------------+ | | login |interactive|non-interactive| | | |non-login |non-login | +----------------+--------+-----------+---------------+ |/etc/profile | A | | | +----------------+--------+-----------+---------------+ |/etc/bash.bashrc| | A | | +----------------+--------+-----------+---------------+ |~/.bashrc | | B | | +----------------+--------+-----------+---------------+ |~/.bash_profile | B1 | | | +----------------+--------+-----------+---------------+ |~/.bash_login | B2 | | | +----------------+--------+-----------+---------------+ |~/.profile | B3 | | | +----------------+--------+-----------+---------------+ |BASH_ENV | | | A | +----------------+--------+-----------+---------------+

bash的每種模式會讀取其所在列的內容,首先執行A,然后是B,C。而B1,B2和B3表示只會執行第一個存在的文件。


交互式登陸:簡單示例:

? ? ? a.用戶直接登陸到機器獲得的第一個shell

? ? ? b.用戶使用? ssh user@remote 獲得的shell

非交互式登陸:

? ? ? bash -l? script.sh

交互式非登陸:

? ? ? 在已有的shell中運行bash,此時不需要登陸

非交互式非登陸:

? ? ? a. bash script.sh

? ? ? b. ssh user@remote command

?

為了更好的理清這幾種模式,下面我們對一些典型的啟動方式各屬于什么模式進行一個總結:

  • 登陸機器后的第一個shell:login + interactive
  • 新啟動一個shell進程,如運行bash:non-login + interactive
  • 執行腳本,如bash script.sh:non-login + non-interactive
  • 運行頭部有如#!/usr/bin/env bash的可執行文件,如./executable:non-login + non-interactive
  • 通過ssh登陸到遠程主機:login + interactive
  • 遠程執行腳本,如ssh user@remote script.sh:non-login + non-interactive
  • 遠程執行腳本,同時請求控制臺,如ssh user@remote -t 'echo $PWD':non-login + interactive
  • 在圖形化界面中打開terminal:??Linux: non-login + interactive? 、Mac OS X上: login + interactive

?

參考鏈接:http://feihu.me/blog/2014/env-problem-when-ssh-executing-command-on-remote/

轉載于:https://www.cnblogs.com/imcati/p/9754481.html

總結

以上是生活随笔為你收集整理的shell的交互式和非交互式登录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。