将`ls -1`的多行输出存储在变量中

时间:2018-12-26 05:30:25

标签: bash

我正在尝试在变量中缓存文件列表:

files=`ls -1 | head -2`
echo $files

因此,如果只有一个文件,请使用它:

files=`ls -1 | head -2`
numberOfFiles=`echo $files | wc -l`

if [ $numberOfFiles == 1 ]; then
  echo "Using $files"
else
  echo "ERROR: Too many files:\n$files\nI don't know which one to take."
fi

令我惊讶的是,echo $files没有保留ls -1输出的新行。因此$numberOfFiles始终为1。

如何将ls -1的多行输出存储在变量中?

0 个答案:

没有答案