Ich hatte gerade ein Script, das für jedes Jahr seit 2010 ein anderes Script aufrufen soll. Dieses Problem war so gelöst:

for YEAR in "2010 2011 2012 2013"; do
  ./other_script $YEAR
done

Das ist nicht sonderlich hübsch, muss am Anfang von 2014 wieder angepasst werden, und sicher wird der nächste, der mit diesem Script zu tun hat, das nicht sofort bemerken. Also muss das Dokumentiert werden, die Dokumentation muss bemerkt und verstanden werden… eigentlich unnötig.

Alternativ gibt es den Befehl seq, der eine Sequenz von Zahlen ausgibt. Da das Startjahr fix auf 2010 steht, braucht man nur noch hochzählen bis zum aktuellen Jahr, letzteres wird von date +%Y ausgegeben. Damit sieht das Script nur noch so aus:

for YEAR in $(seq 2010 `date +%Y`); do
  ./other_script $YEAR
done

Ein kleiner Unterschied bleibt: seq trennt die einzelnen Zeichen standardmäßig mit einer neuen Zeile. Die for-Schleife der Bash kommt damit aber trotzdem klar.