linux shell 提示 bash: no job control in this shell
当我们从shell, 启动一个跑在另外一个tty的shell时将会碰到这个提示。 最常见的是, shell直接把/dev/console作为它的标准输入输出。比如 gentoo, arch使用硬盘安装大法, 但是却找不到硬盘是, 它会自动启动一个shell, 这个shell就是没有job control的了。
至于原因, 涉及的内容比较多, 所以我就不想在这里作详细的分析了。想深入了解的话, 自己看看 AUPE(这是一本书 英文全称Advanced Programming in the UNIX Environment 中文叫做 UNIX环境高级编程 )就是了。 大致的原因是, 一个session leader试图打开一个终端设备时, 假如这个leader没有控制终端, 那么这个终端设备将自动成为改session leader的的控制终端。了解这一点就不难理解为什么会有这个提示了: 就是说shell没有找到控制终端。
解决的办法很简单: 使用agetty 来调用shell。 agetty会创建新的会话, 自然没有了控制终端。所以自然, agetty所打开的tty自动成为了它的控制终端, 并且被agetty调用shell也会继承这一点。
以下是一个例子:
#!/bin/shTMPNAME=`mktemp /tmp/bbsh.XXX`
echo '#!/bin/sh' > $TMPNAME
echo 'exec /bin/sh' >> $TMPNAMEchmod +x $TMPNAME#请确保tty8 没有被其他程序正在使用
/sbin/agetty -l /tmp/bbsh 38400 tty8 linux
rm $TMPNAME
执行该脚本之后将在tty8, 运行一个agetty。 随意输入一个login name: 之后回车,将看到一个shell, 并且这个shell是带有job control的。这样你就可以建一个更好的minilinux了。
linux shell 提示 bash: no job control in this shell相关推荐
- Linux 7 提示 -bash: ifconfig: command not found
在 Linux 7 服务器上,如果执行 ifconfig 命令,提示信息如下: -bash: ifconfig: command not found 说明该包没有安装,不能执行 ifconfig 命令 ...
- Linux | 终端显示为bash-4.1$以及提示bash:command not found的解决方法
本文总结如何解决 Linux 终端显示为 bash-4.1 1 以及提示 bash: command not found 情形 2 ' 3 的解决方法. Updated: 2022 / 7 / 18 ...
- linux的shell类型_Linux中有哪些不同类型的Shell?
linux的shell类型 Shells are an important part of any Linux user session. We are provided several differ ...
- s5pv210启动debian出错提示bash: cannot set terminal process group (-1): Inappropriate ioctl for device...
1.启动参数如下: bootargs=root=/dev/nfs nfsroot=192.168.1.8:/opt/wheezy_fs ip=192.168.1.9:192.168.1.8:192.1 ...
- linux系列(七):shell编程、shell概念、ssh协议概念、执行shell文件的三种方式
1 概念 https://www.xshell.com/zh/free-for-home-school/ 1.1 xshell(执行linux命令的客户端软件) Xshell [1] 是一个强大的安全 ...
- shell脚本详解(一)——初学shell脚本必看哦
shell脚本详解 一.Shell脚本概述 1.1.shell脚本的概念 1.2.shell脚本应用场景 1.3.shell脚本能干什么 1.4. shell的作用--命令翻译器,"翻译官& ...
- linux中的bash shell的特性
linux中的bash shell特性(基础) Shell也称命令行解释器,是我们对linux进行操作最直接的接触的脚本,所以说这对我们的今后的学习过程中非常重要. 当然,linux这种功能强大的操作 ...
- linux bash命令找不到,Linux下提示命令找不到:bash:command not found
Linux下输入某些命令时会提示:bash:command not found. 首先,查看$PATH中是否包含了这些命令. $PATH:决定了shell到哪些目录中去寻找命令或程序,PATH值是一系 ...
- linux 中输入bash,Linux上Bash Shell编程
Linux下Bash Shell编程 Bash Shell Programming in Linux Linux下Bash Shell编程 Bash what? 进阶的内容是什么? Okay, I g ...
最新文章
- Ubuntu在命令行下不能够切换字母的大小写,只能输入大写字母
- linux权限管理(chown、chgrp、chomd)
- 吴恩达《Machine Learning》精炼笔记 10:异常检测
- 收集10个顶级的CSS3代码生成器
- websockets_使用Java WebSockets,JSR 356和JSON映射到POJO的
- 人类遗传变异神库 | ClinVar数据库详解
- C# 利用类名字符串调用并执行类方法
- Java中哪些可以作为GC Roots
- Pandas 基本文本数据处理
- 最新cuDNN 7[Linux]百度云下载[免费] 适用于CUDA 10.0
- 特征选择和特征提取,及其分类
- 【评测】NHEK细胞(正常成人表皮角质形成层细胞)
- Mysql建数据库建表语法实践
- 宁皓网ninghao.net这个人的教程不错
- 解决或者设置网页变灰-CSS-filter属性-哀悼
- Unity 代码动态改变Sprite的实验
- python3GUI--翻译器By:PyQt5(附源码)
- android菜单回弹,Android--实现ViewPager边界回弹效果(转)
- 计算机日常应用之教学PPT-1
- 从「裁员无赔偿」到「拿到n+1」,看的我热血沸腾,我都想离职了