我不知道你是否可以帮助我......我对以下代码有疑问:
#!/bin/bash
if [ $# = 0 ]; then
awk '{for (x=5; x<=NF; x++) {printf "%s ", $x } printf "\n" }' affy.txt
else
columns=""
for i in $@; do
if [ $i = "-g" ]; then
word=$2
is_there_g="True"
break
else
is_there_g="False"
fi
columns+="$i,"
shift
done
columns=${columns%,}
if [ $is_there_g="False" ]; then
cat affy.txt | cut -d" " -f$columns
else
grep $word affy.txt | cut -d" " -f$columns
fi
fi
echo $is_there_g
所以,获得我想要的结果是个问题。这是关于最后的If / else写的。
$is_there_g="False"
时,我想这样做: "cat affy.txt | cut -d" " -f$columns"
。
如果是True
,那么: "grep $word affy.txt | cut -d" " -f$columns"
。
我在代码末尾使用"echo $is_there_g"
对其进行评估。
所以问题在于,即使"echo $is_there_g" gives me a True value
,我获得的结果也始终是假的。为什么???