我正在尝试通过查看以下输出来测试我用 dd 编写的磁盘擦除实用程序:
00000000
*
00000200
我目前在 shell 脚本中编写了一个简短的示例循环来遍历输出并将其打印出来只是为了验证输出:
dd if=/dev/zero of=sample bs=4M count=1
results=`dd if=sample bs=512 count=1 | hexdump -C | awk '{ print $1 } '`
for i in $results
do
echo -e "$i"
done
但是当它击中“ *
”字符时,它会打印出目录列表。如果我试图逃避它,那么它只会打印出“ $i
”。使用以下 if-else 构造似乎没有帮助:
if [ "$i" == "\*" ] #using "*" didn't seem to work either
then
echo -e "\*"
else
echo -e "$i"
fi
关于我哪里出错的任何想法?