我有一个相对简单的脚本,但一直失败。现在我发现有两个**爬了进来。我怎样才能把它们去掉呢?
#!/bin/zsh
checkupdate='macOS Ventura'
macos='macOS Ventura'
echo -n $checkupdate | wc -m
echo -n $macos | wc -m
echo "$checkupdate" | tr -dc '[:print:]' | od -c
echo "***************"
echo "$macos" | tr -dc '[:print:]' | od -c
if [[ $checkupdate == $macos ]]; then
echo "ok"
else
echo "bad"
exit 1
fi
结果:
sudo ./test10.sh
13
13
0000000 m a c O S ** V e n t u r a
0000016
***************
0000000 m a c O S V e n t u r a
0000015
bad
“Ventura”这个词之前显然是这两个**
tr -c '\040-\177' ' '
对我有用,即将非ASCII字符(八进制040 - 177,或十进制32-127)翻译为空格:
echo "$checkupdate" | tr -c '\040-\177' ' ' | od -c
由于它是脚本,因此您应该在
vi
中看到它们:
vi test10.sh
在
vi
中,使用 x
将其删除。