我开始学习bash脚本,并被赋予了使用if-else语句使下面的代码打印第35个编码的字母计数的任务。
#!/bin/bash
# Variable to encode
var="nef892na9s1p9asn2aJs71nIsm"
for counter in {1..40}
do
var=$(echo $var | base64)
done
我想出了:
#!/bin/bash
# Count number of characters in a variable:
#echo $variable | wc -c
# Variable to encode
var="nef892na9s1p9asn2aJs71nIsm"
i=0
for counter in {1..40}
do
var=$(echo $var | base64)
((i=i+1))
if [[$i == '35']]
then
echo $var | wc -c
fi
done
但是我总是得到一个错误if [[$ I == '35']]说命令未找到
[[]后面必须至少有一个空格]]
,否则将被视为命令。
正确代码应该是:
[[ $i == '35' ]]
提示:您不需要单独的变量i用于索引。你可以直接使用变量计数器.:
if [[ "$counter" == "35" ]];then
// Your codes...
fi