登录shell和非登录shell区别

 ## 用户

bash --login 和bash -l 一样么

## 必应

是的,bash --login 和bash -l 是一样的,它们都会启动一个登陆shell,也就是说,它们都会执行一些特定的启动文件,比如 /etc/profile 和 ~/.bash_profile。登陆shell和非登陆shell的主要区别是启动时所执行的文件不同。登陆shell通常是用户登录时或通过带 --login 参数的命令启动的shell,而非登陆shell是在已经登录的情况下启动的shell。

## 用户

bash -i 命令含义

## 必应

bash -i 命令的含义是启动一个交互式的 bash shell,也就是说,它会显示一个提示符,等待用户输入命令,并执行用户输入的命令。交互式的 bash shell 与非交互式的 bash shell 的区别是,非交互式的 bash shell 不会显示提示符,而是从文件或标准输入中读取命令,并执行它们。交互式的 bash shell 通常用于与用户交互,而非交互式的 bash shell 通常用于执行脚本或批处理任务。

: Bash 指南四篇之 bash 是什么,它活在哪里? - 知乎专栏

: Bash 中的 & 符号和文件描述符 - 知乎 - 知乎专栏

: Shell简介:Bash的功能与解释过程(一) Shell简介 - 知乎

## 用户

如何判断您是否正在使用登录 Shell

## 必应

您好,这是 Bing。我可以帮您回答您的问题。😊

根据我从网络上搜索到的信息,您可以使用以下命令来判断您是否正在使用登录 Shell:

echo $0

如果您使用的是登录 Shell,您将看到 shell 的名称前面有一个连字符 ( – )。如果没有,您只会看到 shell 的名称 。

登录 Shell 是当您直接登录到 Linux 机器时启动的 shell,它会执行一些特定的启动文件,比如 /etc/profile 和 ~/.bash_profile。非登录 Shell 是在已经登录的情况下启动的 shell,它不会执行这些文件 。

如果您想了解更多关于登录 Shell 和非登录 Shell 的区别和用法,请参考以下链接:

- 什么是 Linux 中的登录 Shell? - Linux迷

- Linux 中的登录 Shell是什么? - CSDN博客

- 什么是 Linux 中的登录 Shell?-linux登录 - 51CTO

希望这些信息对您有所帮助。如果您还有其他问题,欢迎继续与我交流。😊


评论

此博客中的热门博文

docker run和docker container run有什么区别

promise.then返回结果几种情况