Bash:通过 cli arg 设置循环范围?

Bash:通过 cli arg 设置循环范围?

将 for 循环范围设置为 20 像这样可以正常工作:

$ cat test.sh

#!/bin/bash
for i in {1..20}; do
  echo "$i"
done

但是如何使用命令行中的参数设置计数限制?

for i in {1.."$1"}; do
  echo "$i"
done

$./test.sh 55

{1..55}

答案1

要扩展您已有的功能,您可以使用 eval。

#!/bin/bash

for i in $(eval echo {1.."$1"}); do
  echo "$i"
done

相关内容