!#/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