我在win7 64bit中使用Git Bash 2.9.0-64位。 这是我的shell代码
function sum1_x(){
a=$1
while [ $a -ge 1 ]; do
sum=$[$sum + $a]
a=$[$a - 1]
done
echo $sum
}
sum $1
在Git Bash中,我的类型历史记录如下:
wen @ PC-WEN MINGW64 / d / git /(dev)
$ sh sum1_x.sh
退出
:q退出
退出()
出口()
输入sh sum1_x.sh
之后,我再也无法执行任何shell命令了。我尝试了很多命令。我知道我的脚本中有bug,但是我怎样才能回到执行面向这种类型的shell脚本问题?我现在无能为力。
答案 0 :(得分:1)
sum1_x
功能,但您正在呼叫sum $1
这是更正后的脚本,检查输入参数是否存在:
function sum1_x(){
a=$1
while [ $a -ge 1 ]; do
sum=$[$sum + $a]
a=$[$a - 1]
done
echo $sum
}
if [ -z "$1" ]; then # check that input parameter is exists
echo "No input"
else
sum1_x $1
fi
Ctrl + 'c'
pid
打开新的mingw并找到progrman的ps -aux | grep "sum1_x.sh"
然后使用kill pid来杀死程序答案 1 :(得分:0)
如问题中所示,shell脚本包含许多错误。命令sh sum1_x.sh
也是错误的。它应该被命令sh sum1_x.sh 9
或类似的东西替换。我修复了这些错误后,它运行没有问题,打印正确的总和。
但我仍然不知道如何购买shell脚本。幸运的是,我偶然点击了Ctrl& c,我可以再次输入shell命令。