【发布时间】:2010-02-11 10:37:53
【问题描述】:
!/bin/bash
echo Enter the num
read n
for i in { 1..10 }
do
m=$(( n*i ))
echo "$i * $n" = $m
done
我得到了错误
for:8:非法编号:{ 请提出解决方案
【问题讨论】:
-
请将代码格式化为代码。
标签: bash shell brace-expansion
!/bin/bash
echo Enter the num
read n
for i in { 1..10 }
do
m=$(( n*i ))
echo "$i * $n" = $m
done
我得到了错误
for:8:非法编号:{ 请提出解决方案
【问题讨论】:
标签: bash shell brace-expansion
这样做
#!/bin/bash
read -p "Enter the num: " n
for i in {1..10}
do
m=$(( n*i ))
echo "$i * $n" = $m
done
shebang 错误,不要在大括号扩展中留空格,例如 {0..10},而不是 { 0..10 }
【讨论】:
ksh -o braceexpand 或set -o braceexpand。
这在 bash 中有效:
for (( i=1; i<=10; i++ )); do
# ...
done
【讨论】: