Vim: warning: Input is not from a terminal

#!/bin/basn

cat file.txt > tmp.txt

cat tmp.txt | while read line

do 
    vim -c :%s/abc/$line/g ./file2.txt 
done

rm tmp.txt


 
 

运行以上脚本时, 出现 Vim: warning: Input is not from a terminal

解决办法:

#!/bin/basn

cat file.txt > tmp.txt

cat tmp.txt | while read line

do 
    vim -c :%s/abc/$line/g ./file2.txt < /dev/tty
done

rm tmp.txt