原因:
在IStoreOS,OpenWrt中,系统默认的命令行解释器(shell)是ash(Almquist Shell)而不是Bash。Ash是一种轻量级的Bourne shell变体,它被设计成占用更少的系统资源,非常适合嵌入式系统和资源有限的设备,例如路由器。在OpenWrt等嵌入式系统中,轻量级的ash通常被选择,以确保系统的运行效率和资源利用率。
你可以理解为,路由器系统首先追求的是极致稳定,系统越轻越好。因此系统中很多非必要功能都被砍掉了,如果有需求就需要单独安装对应模块。
解决方案:
更换为bash,将bash作为系统默认命令行解释器。
1.安装 Bash.
ssh登录IStoreOS,使用包管理工具(通常是 opkg
)安装 Bash。运行以下2个命令:
opkg update
opkg install bash
2.通过 which bash
命令来查找 Bash 的确切路径。
which bash
3.确认路径后,开始更改默认 shell:使用 chsh
命令(Change Shell)将默认 shell 更改为 Bash。
chsh -s /bin/bash
注意:-s后面的路径是第二步确定的bash路径
4.重新登录
这会将当前用户的默认 shell 更改为 Bash。可能需要重新登录才能看到更改生效。
补充:
更改默认 shell 可能需要具有管理员权限或特定的系统访问权限。此外,一些设备可能受限于内存或存储空间,安装额外的 shell 可能会有一些限制。确保你了解系统的限制并谨慎操作。