私はそれをしたいと思います:
i="1"; echo -e '#!/usr/bin/env bash\nmyprogram -i "input_${i}.txt"'
それをジョブスケジューラにパイプします。
ただし、これは変数 i をその値で置き換えません。代わりに、これを取得します。
#!/usr/bin/env bash
myprogram -i "input_${i}.txt"
echo の -e オプションと一重引用符/二重引用符を使って少し遊んでみましたが、うまくいきませんでした。たとえば、次のようになります。
i="1"; echo -e "#!/usr/bin/env bash\nmyprogram -i \"input_${i}.txt\""
-bash: !/usr/bin/env: event not found
私の bash バージョンは 4.1.2 です。