【发布时间】:2015-12-17 21:03:12
【问题描述】:
试图将所有参数解析为一个字符串,但我的代码只给我它找不到 i 的错误:
test: line 3: =: command not found
test: line 7: [i: command not found
test: line 7: [i: command not found
test: line 7: [i: command not found
test: line 7: [i: command not found
test: line 7: [i: command not found
代码如下
#!/bin/sh
$msg=""
for i in $@
do
if [i -gt 1]; then
msg="$msg $i"
fi
done
编辑:感谢所有的帮助,让它工作。如果有人感兴趣,我的最终解决方案:
#!/bin/sh
args=""
for i in "${@:2}"
do
args="$args $i"
done
【问题讨论】:
-
第一个错误(
test: line 3: =: command not found)来自msg的赋值错误:将第3行替换为msg=""(不是美元,这是shell,不是Perl或PHP)。