Bash: Einstellung für den Schleifenbereich über cli arg?


0

Das Setzen des for-Schleifenbereichs auf 20 funktioniert einwandfrei:

$ cat test.sh

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

Aber wie stelle ich das Zähllimit mit einem Argument von der Kommandozeile aus ein?

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

$ ./test.sh 55

{1..55}

Antworten:


0

Um das, was Sie bereits haben, zu erweitern, können Sie eval verwenden.

#!/bin/bash

for i in $(eval echo {1.."$1"}); do
  echo "$i"
done
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.