Bash 计算shell和脚本中的文件行会得到不同的结果
对于一个目录中的一组文件,我想获得每个文件的行数,将其存储 在变量中,执行其他操作。通过shell,如果我这样做,我可以毫无问题地完成它Bash 计算shell和脚本中的文件行会得到不同的结果,bash,scripting,lines,Bash,Scripting,Lines,对于一个目录中的一组文件,我想获得每个文件的行数,将其存储 在变量中,执行其他操作。通过shell,如果我这样做,我可以毫无问题地完成它 read NLINES <<< $( cat file | wc -l ) 为什么不同?如何修复它?我打赌您的默认shell不是bash,而是其他东西。离开#/bin/bash并将其替换为#/bin/sh,让脚本使用默认shell 当我试图在Ubuntu上使用一些debian脚本时,我以另一种方式犯了这个错误,在Ubuntu上#/b
read NLINES <<< $( cat file | wc -l )
为什么不同?如何修复它?我打赌您的默认shell不是bash,而是其他东西。离开
#/bin/bash
并将其替换为#/bin/sh
,让脚本使用默认shell
当我试图在Ubuntu上使用一些debian脚本时,我以另一种方式犯了这个错误,在Ubuntu上#/bin/sh
的行为与我假设的不同/bin/bash
#!/bin/bash
for i in `ls *.dat `
do
read NLINES <<< $( cat $i | wc -l )
done
Syntax error: redirection unexpected