没有文件显示出来,我尝试将要写入的文件放在引号中但是没有文件正在写入我得到的是一个名为person.txt的文件
#!/bin/sh
cut -f 1 $1 > temp1.txt
cut -f 2-3 $2 > temp2.txt
for ((i=3;i<103;i++)); do
cut -f $i $1 > temp3.txt
paste temp1.txt temp2.txt temp3.txt > $HOME/Desktop/Plots/person$iPlot.txt
done
答案 0 :(得分:0)
未经测试,脚本中存在问题
$HOME/Desktop/Plots/person$iPlot.txt
Bash不会像您期望的那样替换变量i
,而是尝试解析变量iPlot
。由于此变量尚未分配任何值,因此您最终会得到person.txt
。这发生在bash尝试解析变量时整个单词分开,例如按空间或时期。
要确保使用变量i
,请尝试
$HOME/Desktop/Plots/person${i}Plot.txt
代替。