在xargs
之後,我有幾個命令跟在一起。有趣的是,如果只是將它回顯到stdout
,命令就可以正常工作。當我嘗試將它分配給一個變量時,該變量保持爲空。請看下圖:分配給變量的Bash命令保持爲空
$~ ./somescript | grep -f fc.samples | xargs -I {} sh -c "echo {} | tr '/' '\t' | cut -f9;"
sample1
sample2
sample3
sample4
sample5
sample6
sample7
sample8
$~
試圖把它分配給一個變量,然後呼應它導致空行:
$~ ./somescript | grep -f fc.samples | xargs -I {} sh -c "sample=$(echo {} | tr '/' '\t' | cut -f9); echo $sample; "
$~
我已經試過它的多種變化,並不能找出我得到錯誤的。有人可以發現問題嗎?
謝謝!
你試過這個嗎? 'sample = $(./ somescript | grep -f fc.samples | xargs -I {} sh -c「echo {} | tr'/''\ t'| cut -f9;」)' –
不,我做了不是 - 分配給'sample'的想法是在xargs命令後面使用的 - 我認爲這對我不適用) – dmeu