linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决

news/2025/1/12 20:10:48/

前言

今天在使用linux的时候,使用上下键想翻出历史命令时,却出现[[A[[A[[A[[B^[[B这种东东,而tab键补全命令的功能也无法使用。最终发现是由于当前用户使用的shell是/bin/sh的原因。

解决方法

运行以下命令,将默认 shell 设置为 /bin/bash

echo $SHELL  //查看当前使用的是那个版本的shellsudo chsh -s /bin/bash 当前用户名 //将旧版的sh程序设置成新版的bash程序,设置后重新登录终端

SHELL 环境变量的变化需要在重新登录后生效。请执行以下步骤:

  1. 退出当前会话:
exit
  1. 重新登录到系统。
  2. 再次检查:
echo $SHELL

在这里插入图片描述

bash和sh的区别

bashsh 都是 UNIX 系统中的 shell 程序,但它们有一些显著的区别。以下是详细对比:


基本概念

  • **sh**** (Bourne Shell)**
    • 原始 shell,1979 年由 Stephen Bourne 开发。
    • 是 UNIX 和类 UNIX 系统上的标准 shell,功能简单,脚本兼容性强。
    • 许多操作系统使用 /bin/sh 作为默认 shell。
  • **bash**** (Bourne Again Shell)**
    • 是 GNU 项目开发的增强版 shell,1989 年由 Brian Fox 发布。
    • 基于 sh,向后兼容,同时增加了许多新功能,比如命令历史、数组支持等。
    • 是 Linux 系统上的默认 shell,大多数 Linux 发行版都使用 /bin/bash

功能对比

特性shbash
历史功能不支持命令历史支持,使用

导航历史记录
命令补全不支持支持,按 Tab
键补全文件和命令
数组支持不支持支持一维数组
整数运算使用外部命令 (expr
)
内建整数运算 ($(( ))
)
条件判断语法简单支持 (test
)
支持更高级的条件判断
脚本扩展功能基础脚本支持支持函数、数组、字符串操作等
错误调试功能有限支持 set -x
和调试选项

兼容性

  • sh 是许多系统脚本的标准,具有高度兼容性,尤其适用于 POSIX 标准环境。
  • bash 包含许多扩展特性,但部分功能在 POSIX 不兼容的环境中可能无法使用。

使用场景

  • **sh**
    • 使用脚本需要在不同平台上运行时(高兼容性)。
    • 编写简单、可靠的脚本,如启动脚本或基本任务。
  • **bash**
    • 编写复杂的自动化脚本,需用到高级功能(如数组和字符串操作)。
    • 在 Linux 环境中开发,且不考虑跨平台兼容性。

快速识别当前 shell

执行以下命令查看当前使用的 shell:

echo $SHELL

如果想查看正在运行的 shell 程序:

ps -p $$

总结

  • **sh**:轻量、兼容性强,适合简单任务。
  • **bash**:功能强大,扩展性高,是现代 shell 的首选工具。
    多数情况下,推荐使用 bash,因为它向后兼容 sh,并且提供了更多方便的功能。

http://www.ppmy.cn/news/1562594.html

相关文章

计算机网络之---ICMP协议与Ping命令

ICMP 协议 ICMP (Internet Control Message Protocol) 是一种网络层协议,主要用于在 IP 网络中传递控制消息。ICMP 主要用于网络设备之间的故障报告和诊断,帮助设备检测网络连接问题。它是 IP 协议的核心部分之一,用于发送错误消息和操作信息…

深入解析 Flink 与 Spark 的性能差异

💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…

从excel提取和过滤数据到echarts中绘制图

主页面 介绍 echarts的事例页面,导入数据比较麻烦,此项目从excel中提取数据(含过滤数据),以注入页面. 代码说明 所有的需要从excel中读取的参数,从代码中替换.需以{{data}} 包含在内使用绘制参数的解析代码参数可以解析出来所有参数数据配置上传文件后,可以选择列数据过滤条…

可视化重塑汽车展示平台新体验

汽车展示平台利用图扑可视化技术,实现全方位、互动式车型展示,提供沉浸式用户体验,助力消费者深入了解车辆特性,优化销售沟通效率,推动汽车行业的数字化创新。

绘制三角形、正六边形、五角星、六角星

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>绘制图形</title><style>body {displ…

Python----Python基础(字符串,列表,元组,字典,集合的总结)

一、字符串 str&#xff0c;基本用法&#xff1a;拼接&#xff0c;复制&#xff0c;长度&#xff0c;索引&#xff0c;切片&#xff0c;查找&#xff0c;替换&#xff0c;大小写转化&#xff0c;去除空格&#xff0c;填充&#xff0c;分割&#xff0c;判断&#xff0c;可变字符…

2024年华为OD机试真题-判断一组不等式是否满足约束并输出最大差-Python-OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述: 给定一组不等式…

汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图)

汽车基础软件AutoSAR自学攻略(四)-AutoSAR CP分层架构(3) (万字长文-配21张彩图) 前面的两篇博文简述了AutoSAR CP分层架构的概念&#xff0c;下面我们来具体到每一层的具体内容进行讲解&#xff0c;每一层的每一个功能块力求用一个总览图&#xff0c;外加一个例子的图给大家进…