zsh & for loop bug
zsh & for loop bug
for: command not found
syntax error near unexpected token do'
do'
Unicode 编码问题 ❌
Error
#!/usr/bin/env bash
echo 🎉 emoji ^-v-^
# -e 换行
echo -e "\n"
arg1=$1
arg2=$2
arg3=$3
arg4=$4
arg5=$5
arg6=$6
arg7=$7
arg8=$8
arg9=$9
# >= 10, $n => ${n} ✅
arg10=${10}
arg11=${11}
arg12=${12}
# echo $arg1
# echo $arg2
# echo $arg3
# echo $arg4
# echo $arg5
# echo $arg6
# echo $arg7
# echo $arg8
# echo $arg9
# echo $arg10
# echo $arg11
# echo $arg12
# 🚀 ✅, 参数可以为空
all=$((arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12))
# -e 换行
echo -e "\n"
echo $all
# -e 换行
echo -e "\n"
# \ 转义符
echo "\$* 参数整体:" $*
echo "\$@ 参数列表:" $@
echo "\$# 参数个数:" $#
for i in "$*"
do
echo "\$* 参数整体, 参数 i" $i
done
for j in "$@"
do
echo "\$@ 参数列表, 参数 j" $j
done
# DEMO
# ./for-loop.sh 1 2 3 4 5 6 7 8 9 10 11 12
# 55 + 23 = 78
# const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
# arr.reduce((acc, item) => acc += item, 0);
solutions
#!/usr/bin/env bash
echo 🎉 emoji ^-v-^
# -e 换行
echo -e "\n"
arg1=$1
arg2=$2
arg3=$3
arg4=$4
arg5=$5
arg6=$6
arg7=$7
arg8=$8
arg9=$9
# >= 10, $n => ${n} ✅
arg10=${10}
arg11=${11}
arg12=${12}
# echo $arg1
# echo $arg2
# echo $arg3
# echo $arg4
# echo $arg5
# echo $arg6
# echo $arg7
# echo $arg8
# echo $arg9
# echo $arg10
# echo $arg11
# echo $arg12
# 🚀 ✅, 参数可以为空
all=$((arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12))
# -e 换行
echo -e "\n"
echo $all
# -e 换行
echo -e "\n"
# \ 转义符
echo "\$* 参数整体:" $*
echo "\$@ 参数列表:" $@
echo "\$# 参数个数:" $#
# ✅ 终止,结束,闭合 echo
echo ""
# for i in "$*" do echo "\$* 参数整体, 参数 i = $i" done
# for j in "$@" do echo "\$@ 参数列表, 参数 j" $j done
for i in "$*"
do
echo "\$* 参数整体, 参数 i = $i"
done
for j in "$@"
do
echo "\$@ 参数列表, 参数 j" $j
done
# DEMO
# ./for-loop.sh 1 2 3 4 5 6 7 8 9 10 11 12
# 55 + 23 = 78
# const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
# arr.reduce((acc, item) => acc += item, 0);
#!/usr/bin/env bash
echo "🎉 emoji ^-v-^"
# -e 换行, \n\r 两行 bug
# echo -e "\n"
# 换一行 ✅
echo ""
arg1=$1
arg2=$2
arg3=$3
arg4=$4
arg5=$5
arg6=$6
arg7=$7
arg8=$8
arg9=$9
# >= 10, $n => ${n} ✅
arg10=${10}
arg11=${11}
arg12=${12}
# echo $arg1
# echo $arg2
# echo $arg3
# echo $arg4
# echo $arg5
# echo $arg6
# echo $arg7
# echo $arg8
# echo $arg9
# echo $arg10
# echo $arg11
# echo $arg12
# 🚀 ✅, 参数可以为空
all=$((arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 + arg8 + arg9 + arg10 + arg11 + arg12))
echo $all
# -e 换行, \n\r 两行 bug
# echo -e "\n"
# 换一行 ✅
echo ""
# \ 转义符
echo "\$* 参数整体:" $*
echo "\$@ 参数列表:" $@
echo "\$# 参数个数:" $#
# ✅ 终止,结束,闭合 echo "" $var
# echo ""
# for i in "$*" do echo "\$* 参数整体, 参数 i = $i" done
# for j in "$@" do echo "\$@ 参数列表, 参数 j" $j done
for i in "$*"
do
# ✅ 终止,结束,闭合 echo "$var" 👍
# echo "\$* 参数整体, 参数 i = $i"
echo "\$* 参数整体, 参数 i = " $i
done
for j in "$@"
do
# not close echo "" $var 👎
echo "\$@ 参数列表, 参数 j" $j
# echo "\$@ 参数列表, 参数 j $j"
done
# DEMO
# ./for-loop.sh 1 2 3 4 5 6 7 8 9 10 11 12
# 55 + 23 = 78
# const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
# arr.reduce((acc, item) => acc += item, 0);
语法错误 ❌
关键字高亮 ✅
refs
©xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/14233264.html
未经授权禁止转载,违者必究!