【发布时间】:2014-02-07 17:48:08
【问题描述】:
abc.txt 为
* This
Data1
Dat2
* Comment
data2
data3
当 $line 将 * 作为第一个字符时,它不起作用。它与垃圾相呼应。
我尝试了各种方法但无法正常工作,如何检查 ksh 变量中的“*”
while read line
do
fchar=`echo "$line" | cut -c 1-1`
#echo $fchar
if [[ ${char} = "*" ]]; then
continue
fi
if [[ ${char} = "#" ]]; then
continue
fi
echo ${line} >> stuff.txt
done<$abc.txt
谢谢。
【问题讨论】:
-
一个方便的工具是 shellcheck (shellcheck.net/#)。它将调出有关如何改进脚本的各种基本提示。例如在
${line} >> stuff.txt中的变量周围使用双引号。