!#/bin/sh
a=$1
b=$(echo $a | rev)
if [ $a == $b ]; then
echo $a
fi
我想编写一个脚本,它将输入一些单词,并且脚本必须找出它是否是回文,如果是回文,它必须输出该单词。
另外我不能使用条件
我考虑过将输出写入不同的文本,使用“uniq”或以其他方式比较它并打印输出,但在我看来太复杂了......
我将不胜感激任何建议。
答案1
和老师一起玩吧:
$ a="anna";diff -sq <(echo "$a") <(echo "$a" |rev)
Files /dev/fd/63 and /dev/fd/62 are identical
$ a="arrna";diff -sq <(echo "$a") <(echo "$a" |rev)
Files /dev/fd/63 and /dev/fd/62 differ
结论:如果这个单词是回文, diff 会告诉你。
如果您还没有对流程替代感到不满,那么
$ a="anna" && echo "$a" >normal.txt && echo "$a" |rev >reverse.txt
$ diff -sq normal.txt reverse.txt