Linux 在Bash中,如何在read-es之后输出新行?
当前代码:Linux 在Bash中,如何在read-es之后输出新行?,linux,bash,newline,Linux,Bash,Newline,当前代码: echo -n "password: " read -es password echo -n "ok" linux中的behavoir: password: ok 我们可以这样做吗: password: ok 谢谢, wxie 以下工作将起作用: read -p "password: " -es password echo echo "ok" 从echo的手册页:-n不要输出尾随的换行符。不带选项试试。如果要在“确定”之前换行,则应执行以下操作: echo -e "\nok"
echo -n "password: "
read -es password
echo -n "ok"
linux中的behavoir:
password: ok
我们可以这样做吗:
password:
ok
谢谢,
wxie
以下工作将起作用:
read -p "password: " -es password
echo
echo "ok"
从echo的手册页:
-n不要输出尾随的换行符
。不带选项试试。如果要在“确定”之前换行,则应执行以下操作:
echo -e "\nok"
-e
启用反斜杠代码的解释 也许:
read -p "password: " -es password
printf "\n ok \n"
我们可以使用
\n
在printf
中,在“ok”之后有一行额外的填充,您可以删除它
printf "password: " && read -es password && printf "\n\nok\n"
如果以这种方式保存密码,它仍将以纯文本形式包含在变量$password
中,下面的字符串将公开打印它
printf "$password"
您的代码示例使用echo
,并且应该使用printf
,echo的POSIX合规性上有一些问题,echo
可以像Greg Tarsa指出的那样工作,但并非所有版本都使用开关选项,如-e
或-n
我发现使用printf
是可读的,其他“语言”也有类似的命令,例如
如果您需要使用echo,您可以
echo -n "password: " && read -es password && echo -e "\nok\n"
谢谢,但你需要先试试-n用于执行密码:xxx(cr)。如果没有-n,输出将是password:(换行符)。