Shell编程符号「*)」的表示意义cat ${PARAFILE} | sed s/AA/aa/g while read cline;docase ${cline} in${CCLASS}*) CLASS=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;${CID}*)ID=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;esacecho ${cli

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 06:59:21
Shell编程符号「*)」的表示意义cat ${PARAFILE} | sed s/AA/aa/g while read cline;docase ${cline} in${CCLASS}*) CLASS=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;${CID}*)ID=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;esacecho ${cli

Shell编程符号「*)」的表示意义cat ${PARAFILE} | sed s/AA/aa/g while read cline;docase ${cline} in${CCLASS}*) CLASS=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;${CID}*)ID=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;esacecho ${cli
Shell编程符号「*)」的表示意义
cat ${PARAFILE} | sed s/AA/aa/g while read cline;
do
case ${cline} in
${CCLASS}*) CLASS=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;
${CID}*)ID=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;
esac
echo ${cline} >> test.txt
done
其中,{PARAFILE}是一个文件.
CCLASS 和 CID都是定义的固定值
CLASS 和 ID是变量
start_pos和end_pos是为截取固定位数字符定义的常量
看不懂${CCLASS }*) CLASS =`echo ${cline} | cut -c${start_pos}-${end_pos}`
中,「*)」这个符号是什么意思

Shell编程符号「*)」的表示意义cat ${PARAFILE} | sed s/AA/aa/g while read cline;docase ${cline} in${CCLASS}*) CLASS=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;${CID}*)ID=`echo ${cline} | cut -c${start_pos}-${end_pos}` ;;esacecho ${cli
你应该把星号和前面的变量合起来看
${CCLASS}* 表示以${CCLASS}为开头的值, 后面的 ")" 这个是case 语句用的
假设 cline="ABCD"
CCLASS=A, CID=B
那么
case ${cline} in
${CCLASS}* ) echo "A" ;;
$(CID}*) echo "B";;
esac
的结果就是输出 A, 因为cline是以A开头的, 满足 A* 的条件