首页 > 解决方案 > 没有回显的读取输入不起作用(bash Shell 脚本)

问题描述

“-s”开关不工作 bash shell 脚本。它会在不提示输入密码的情况下引发错误。

使用:Ubuntu 16.04.6 LTS

我错过了什么吗?

#!/bin/bash

echo "Enter password"
read -s password
echo "password:" $password

输入密码test.sh:4:读取:非法选项-s密码:

标签: linuxbashshellecho

解决方案


您正在运行脚本sh,而不是bash提供相关功能。使用 bash 直接调用脚本:

bash test.sh

或者使文件可执行,以便解释器读取您的 shebang:

chmod +x test.sh    # only required once
./test.sh

.sh除非您在某些特殊目录中运行实际的 POSIX shell 脚本,否则扩展是不必要的。


推荐阅读