在终端中执行和通过终端执行脚本文件有什么区别?
What's the difference between executing in terminal and executing a scriptfile via terminal?
我得到不同的结果 运行 以下代码在终端内与在脚本文件中。
for i in {1..5}
do
echo $i is a number
done
终端输出:
1 is a number
2 is a number
3 is a number
4 is a number
5 is a number
脚本输出
{1..5} is a number
添加:
#!/bin/bash
你的默认值 shell 也许是 sh,这是 sh 的另一个例子:
#!/bin/sh
max=5
for i in `seq 1 $max`
do
echo "$i" is a number
done
嗯,这不是一个真正的答案,因为我无法说出确切的原因(不熟悉 bash,只是偶尔使用它),但不要使用 #!/bin/sh ,使用 #!/bin/bash 作为 bash 解释器。 bash 和 sh 的语法有些不同。
#!/bin/bash
for i in {1..5}
do
echo $i is a number
done
得到以下输出:
1 is a number
2 is a number
3 is a number
4 is a number
5 is a number
我得到不同的结果 运行 以下代码在终端内与在脚本文件中。
for i in {1..5}
do
echo $i is a number
done
终端输出:
1 is a number
2 is a number
3 is a number
4 is a number
5 is a number
脚本输出
{1..5} is a number
添加:
#!/bin/bash
你的默认值 shell 也许是 sh,这是 sh 的另一个例子:
#!/bin/sh
max=5
for i in `seq 1 $max`
do
echo "$i" is a number
done
嗯,这不是一个真正的答案,因为我无法说出确切的原因(不熟悉 bash,只是偶尔使用它),但不要使用 #!/bin/sh ,使用 #!/bin/bash 作为 bash 解释器。 bash 和 sh 的语法有些不同。
#!/bin/bash
for i in {1..5}
do
echo $i is a number
done
得到以下输出:
1 is a number
2 is a number
3 is a number
4 is a number
5 is a number