我正在尝试获取某些文件的基本名称,并将它们合并到循环中的输出文件中。我正在尝试将基本名称分配给变量“x”和“y”,但不断收到错误“x:command not found”。为什么bash认为'x'和'y'是命令,什么是在输出文件中获取两个文件名(但不是路径或扩展名)的最佳方法?谢谢你的帮助!
for i in ~/SOSP/pops/*.txt
do
x = $(basename $i)
for j in ~/SOSP/pops/*.txt
do
y = $(basename $j)
vcftools --vcf ~/SOSP/sosp.vcf --weir-fst-pop $i --weir-fst-pop $j --out ~/SOSP/fst_pairs/${x}_vs_${y}.txt
done
done
答案 0 :(得分:3)
不要在=
:
不起作用:
x = $(basename $i)
y = $(basename $j)
工作的:
x=$(basename $i)
y=$(basename $j)