Có thể mở rộng các biến trong các nhận xét bên trong tập lệnh bash không?Mở rộng thay đổi trong các nhận xét
Tôi muốn viết tập lệnh để nạp vào SGE. Cú pháp qsub
cho phép tôi chuyển các tham số bổ sung cho công cụ lưới bằng cách sử dụng các dòng bên trong tập lệnh bash bắt đầu bằng #$
. Ví dụ,
#$ -q all.q
#$ -S /bin/bash
#$ -V
#$ -m beas
#$ -o run_20120103.out
Những gì tôi muốn là các tham số -o
là tự động thiết lập để một biến, nói $1
. Vì vậy, tôi ngây thơ sẽ viết
#$ -o run_${1}.out
Tuy nhiên, kể từ khi dòng bắt đầu với một #
, bash bỏ qua nó và biến $1
không được mở rộng.
Bất kỳ ý tưởng nào? Một số tiền xử lý bash? Một số cách khác?
EDIT Tôi vừa chọn $1
làm ví dụ. Nó cũng có thể là $FOO
hoặc $BAR
.
gì là xác định giá trị của $ {1 }? Bạn có đang thực hiện một chu trình để tải các công việc khác nhau trên cụm/lưới không? –
vâng, đúng vậy. –
Trong trường hợp đó, bạn có thể chỉ cần gọi qsub với tùy chọn -o bên trong vòng lặp của bạn thay vì đặt # $ -o bên trong tập lệnh được đưa vào qsub. –