【发布时间】:2013-12-21 03:18:30
【问题描述】:
为什么以下代码在 bash 中失败?请注意,我正在尝试执行更复杂的比较,例如“somestring\r”;这只是一个简化的例子。
我可以确认回车“ascii 13”正在进入脚本。但我无法将其与常规字符串比较进行比较。
对于肯定匹配,预期结果为“1”。
命令行:
echo -e "\r" | ./test.sh
脚本:
ord() {
printf '%d' "'$1"
}
read a
echo "1st char: $(ord ${a:0:1})"
left="${a:0:1}"
if [ "$left" = "\r" ]; then
echo 1
fi
exit 0
【问题讨论】: