簡體   English   中英

Mac Shell腳本循環在后台運行被忽略

[英]mac shell script loop run in background ignored

我在遍歷數組以打開程序的多個實例時遇到問題。 當我運行以下示例時,我得到三個fslview實例:

arr=(bold_rs_fabio_precuneus_mask.nii.gz mask.nii.gz bold_rs_fabio.nii.gz)
fslview ${arr[0]} &
fslview ${arr[1]} &
fslview ${arr[2]} &

在此示例中,我僅獲得加載了第一個文件的fslview實例:

arr=(bold_rs_fabio_precuneus_mask.nii.gz mask.nii.gz 
bold_rs_fabio.nii.gz)
for f in $arr
do
    fslview $f &
done

在第二個示例中我缺少什么?

預先感謝馬丁

也許您應該在循環中啟動一個新的shell:

arr=(bold_rs_fabio_precuneus_mask.nii.gz mask.nii.gz bold_rs_fabio.nii.gz)
for f in $arr
do
  (fslview $f & )
done

或者嘗試構建命令行以實際並行運行進程

arr=(bold_rs_fabio_precuneus_mask.nii.gz mask.nii.gz bold_rs_fabio.nii.gz)
cmd=""
for f in $arr
do
  cmd="$cmd fslview $f &"
done
#then let it run
$cmd

希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM