相关疑难解决方法(0)

为什么在 sh 和 bash 的情况下我会得到不同的输出?

我有以下简单的脚本:

#!/bin/bash
echo "Bash version ${BASH_VERSION}..."
for i in {1..99..2}
do
        echo $i
done
Run Code Online (Sandbox Code Playgroud)

如果我运行,输出sh file.sh

Bash version ...
{1..99..2}
Run Code Online (Sandbox Code Playgroud)

如果我运行,输出bash file.sh

Bash version 4.2.25(1)-release...
1
3
5
.
.
.
99
Run Code Online (Sandbox Code Playgroud)

我有两个疑问:

  1. 如果我写了一个shabang行指定的外壳,不应该将其与运行bash的我无论是使用sh file.sh还是bash file.sh

  2. 我知道$BASH_VERSIONsh 无法识别,但是 for 循环有什么问题?为什么不打印数字?

command-line bash

8
推荐指数
2
解决办法
2116
查看次数

标签 统计

bash ×1

command-line ×1