以下は、私が達成しようとしていることに対するある種の疑似コードです:
#!/bin/bash
# I already have the variable below figured out (positive integer):
numlines=$([returns number of lines containing specific characters in a file])
# This is basically what I want to do with it:
for i in {1..$numlines}; do
# the part below is already figured out as well:
do some other stuff
done
`{1..n} 'シーケンスに実際の数を挿入することで、コマンドラインから問題なく実行できます。ここに変数を含めることが可能かどうか、そしてそれを実行する方法を知る必要があるだけです。
- 私は
export
それを試してみました - 変数自体をシーケンス内の中括弧に入れてみました:
{1..${numlines}}
- 私はそれが拡張することを期待して二重引用符でそれを入れてみました:
{1.."$numlines"}
- 私はエスケープしてみました
$
:{1..\$numlines}
set -[something]
この変数を展開するためにコマンドを使用する必要がありますか?私はeval
... を使っていくつかの形を試してみましたが、すべて役に立ちませんでした。
私が見逃している単純なものやあいまいなものがあるかどうか、またはこれ以上時間を無駄にする前にこれが可能かどうかを知る必要があるだけです。
本当にハックなやり方でまとめて、必要に応じて機能させることもできますが、できればそれを避けて、正しいやり方を学びたいと思います。