最近在写操作系统作业时,希望使用echo命令输出后不换行
查询菜鸟教程得知使用echo -e 命令即可开启转义模式,从而实现输出不换行
但在具体使用时,却出现了如下情况
使用-e选项时,虽未换行,但输出了-e字符,而不使用-e选项时,却自动开启了转义模式
将文件开头的#!/bin/sh换成#!/bin/bash后,得到结果如下
加-e选项后,echo输出不换行,不加-e选项时,\c未被转义,输出结果仍换行
我使用的虚拟机版本为Ubuntu 21.10,但在其他版本虚拟机上运行时,使用/bin/sh的运行结果正常,不加-e就默认不转义,加-e选项则转义
猜测可能我使用的Ubuntu系统中/bin/sh对echo默认开启转义模式,而/bin/bash对echo默认不开启转义模式
不太清楚为什么不同版本/bin/sh会有这种不同,先记录一下,之后若是找到答案了再回来记录。