Io-Redirection

使用重定向有什麼問題?

  • February 9, 2017
#! /bin/bash
for i in {A,B,C,D,E,F,G,H,J} ; do

    echo     "$i
              $i
              $i
              $i 
              $i
              $i
              $i
              $i"
   cat > ~/Desktop/$i.txt                    
done

我想製作 9 個文本文件,每個文件顯示一個字母重複 8 次。例如,A.txt 應該在一列中有 8 次字母 A)如果我在沒有 的情況下執行腳本cat,它確實顯示了 A 字母的 8 倍,然後是 B、C 等的 8 倍。插入cat語句時,它不會不行。我究竟做錯了什麼?

它們是兩個獨立的命令。

echo something
cat > somewhere

您可以使用管道將標準輸出傳遞給標準輸入:

echo something | cat > somewhere

一個簡單的解決方案是雙重 for 循環,如下所示:

for f in {A..J}; do for ((i=0;i<8;i++)); do printf '%s\n' "$f" >> "$f"; done; done

引用自:https://unix.stackexchange.com/questions/319327