我尝试了很多匹配字符串的方法,但我的if语句不起作用。我想测试第一个参数是否等于他的反向。
例如,如果[$ 1 =“某事物”]可能有效但我不知道怎么做如果我正在使用 我的反向变量
#!/bin/bash
echo "la string en parametre" ${1}
reverse= echo -n $1 | rev
if [[ $1=reverse ]]; then
echo "est pas un palindrome"
else
echo "est un palindrome"
fi
答案 0 :(得分:1)
首先,这不起作用:
reverse= echo -n $1 | rev
使用命令替换:
reverse=$( echo -n "$1" | rev )
其次,这不会起作用:
if [[ $1=reverse ]]; then
=
周围必须有空格并且要访问变量,您需要一个美元符号:
if [[ $1 = $reverse ]]; then
总之,试试:
echo "la string en parametre: '$1'"
reverse=$( echo -n "$1" | rev )
if [[ $1 = $reverse ]]; then
echo "est un palindrome"
else
echo "est pas un palindrome"
fi