首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是交互式unix?

什么是交互式unix?
EN

Stack Overflow用户
提问于 2014-07-14 08:21:57
回答 1查看 234关注 0票数 2

我一直在努力理解“交互式”shell是什么意思。我在网上读了很多资料,也看过了手册页-调用部分。

因此,我特别想提出一些简单的问题:

1)如何启动非交互式shell?是说“bash--登录”吗?

2)我只是不知道在一个交互的shell中我还能做什么,而在一个shell脚本中我不能这样做(所有这些材料都说shell脚本将在一个非交互的shell中运行)。

3)当我在GUI中启动终端时,运行的shell是一个非登录的交互式shell吗?

4)我可以在交互式shell中运行shell脚本吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-14 08:54:04

正如“巴什手册”所解释的:

交互式shell是一个在没有非选项参数的情况下启动的,并且没有标准输入和错误都连接到终端(由isatty(3)确定)的-c选项,或者是使用-i选项启动的。PS1设置为$-,如果bash是交互式的,则包含i,允许shell脚本或启动文件测试此状态。

对于你的问题:

1)如何启动非交互式shell?是说“bash--登录”吗?

基本上,大多数情况下,您可以通过使用脚本运行shell,或者使用-c选项运行shell。如果shell不使用脚本运行,并且如果shell获得其输入重定向,则如果输入结束,shell将自动退出。

2)我只是不知道在一个交互的shell中我还能做什么,而在一个shell脚本中我不能这样做(所有这些材料都说shell脚本将在一个非交互的shell中运行)。

没有太大的区别,只是提示符自然没有显示。作业控制也未启用。只有当Bash以交互方式执行时,它才会运行rc文件~/.bashrc。基本上,当不与终端交互以使其正常工作,而不是挂在其他地方时,外壳就会以其应有的方式运行。

3)当我在GUI中启动终端时,运行的shell是一个非登录的交互式shell吗?

它当然是一个交互式的shell,至少在默认情况下是这样。

4)我可以在交互式shell中运行shell脚本吗?

如果您指的是当前shell本身,则是.source。当shell脚本结束时,提示返回。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24732275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档