我正在学习用 bash 编写脚本,试图解决一些练习。练习是这样的:
如果名为“basenew”的变量包含名为“valuebase”的变量的内容。 “basenew”必须包含超过 113,469 个字符。如果两个条件都满足,则脚本必须打印变量“basenew”的最后 20 个字符。
我的代码是
#!/bin/bash
basenew="8dm7KsjU28B7v621Jls"
valuebase="ERmFRMVZ0U2paTlJYTkxDZz09Cg"
for i in {1..40}
do
basenew=$(echo $basenew | base64)
if [[ $basenew =~ $valuebase && ${#basenew} -ge 113469 ]] ; then
echo $i
echo $basenew | wc -c
StrLen=`echo ${basenew} | wc -c`
From=`expr $StrLen - 20`
echo $basenew | cut -c ${From}-${StrLen}
else
echo "error"
fi
done
但我被困住了,因为它在第 28 次迭代中打印,并且是最后 20 次迭代,但这不是正确的答案。
有没有建议使用 tail -c 20 打印最后 20 个字符?
谢谢