Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在Bash中,如何在read-es之后输出新行?_Linux_Bash_Newline - Fatal编程技术网

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:(换行符)。