如何在bash中读取空间-read不会
许多人已经展示了在bash中阅读一行时如何保留空格。但我有一个基于字符的算法,它需要分别处理每个字符的每一端,包括空格。不幸的是,我无法让bash read从输入中读取单个空格字符如何在bash中读取空间-read不会,bash,character,whitespace,Bash,Character,Whitespace,许多人已经展示了在bash中阅读一行时如何保留空格。但我有一个基于字符的算法,它需要分别处理每个字符的每一端,包括空格。不幸的是,我无法让bash read从输入中读取单个空格字符 读取时-r-n1c;做 printf“[%c]”“$c” 完成只需设置输入字段分隔符(a),使其不会将空格(或任何字符)视为分隔符,即可: printf 'mark spitz' | while IFS="" read -r -n 1 c; do printf "[%c]" "$c" done echo 这
读取时-r-n1c;做
printf“[%c]”“$c”
完成只需设置输入字段分隔符(a),使其不会将空格(或任何字符)视为分隔符,即可:
printf 'mark spitz' | while IFS="" read -r -n 1 c; do
printf "[%c]" "$c"
done
echo
这给了你:
[m][a][r][k][ ][s][p][i][t][z]
你会注意到我也稍微改变了你在那里获取输入的方式,Wow。我肯定有第二个问题,没有在赋值或输出中引用变量(空格是我的bash敌人),当我尝试此修复时,由于第二个问题的错误,它失败了。显示将测试减少到最低限度的价值-而不是在大型程序中尝试修复!顺便说一句,在读取完成时使用