Во-первых, давайте посмотрим, что на самом деле делает скрипт:
Внешний цикл:
for t in `echo A B` ; do
(removed for clarity)
done
Это устанавливает переменную $ t в A, выполняет остальные команды в цикле и затем повторяет ее с $ t, установленным в B. Он также делает это странным образом, выполняя подоболочку для эха A и B. Простой for t in A B ; do
бы то же самое.
Далее внутренний цикл.
seq 1 22 ; echo X
далее создает НомерСтарт uence чисел от 1 до 22. Затем X добавляется. Вы бы написали это в более длинной форме, как for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 X
Наконец, команды:
Добавьте это во внутренний код, и вы получите следующие команды:
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=1 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=2 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=3 < ~/bin/skat.R" ;
...
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=19 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=20 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=A chr=X < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=1 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=2 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=3 < ~/bin/skat.R" ;
...
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=19 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=20 < ~/bin/skat.R" ;
qth "export R_LIBS=~/lib/ ;
R --vanilla --args phenotype=B chr=X < ~/bin/skat.R" ;
Теперь, когда мы знаем, что он делает, вы можете запустить его вручную, написать пакетный файл или скрипт powershell. :-)
Это, вероятно, будет содержать что-то вроде этого:
C:\program files\SkatMeta\R.exe --vanilla --args phenotype=A chr=1 < %%HOMEPATH%%\bin\skat.R"
C:\program files\SkatMeta\R.exe --vanilla --args phenotype=A chr=2 < %%HOMEPATH%%\bin\skat.R"
C:\program files\SkatMeta\R.exe --vanilla --args phenotype=A chr=3 < %%HOMEPATH%%\bin\skat.R"
Etc etc with chr is 4 5 6 7 8 ... 21 22 X
And then the same for B
В первой строке это полный путь к двоичному файлу R (по умолчанию в Windows это C:\program files\name_of_the_manufacturer\program_name.exe), а ярлык unix для home (~
) заменен на% HOMEPATH%. Последнее, вероятно, расширяется до C:/users/your_username, и я заключил его в двойные знаки%, которые необходимы для пакетного файла.
Я оставлю эту часть другому постеру, так как сценарии для Windows не являются моей сильной стороной.