查找回文并打印(无使用条件)

查找回文并打印(无使用条件)
!#/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

相关内容