簡體   English   中英

使用循環變量的 shell 腳本打印到多個文件

[英]Printing to multiple files with shell script for loop variable

沒有顯示任何文件,我嘗試將要寫入的文件放在引號中,但沒有寫入文件,我得到的是一個名為 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

未經測試,腳本中的一個問題是

 $HOME/Desktop/Plots/person$iPlot.txt

Bash 不會像您期望的那樣替換變量i ,而是嘗試解析變量iPlot 由於此變量尚未分配任何值,因此您最終會得到person.txt 這是因為 bash 試圖將變量解析為整個單詞,例如用空格或句點分隔。

要確保使用您的變量i ,請嘗試

$HOME/Desktop/Plots/person${i}Plot.txt

反而。

暫無
暫無

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

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