function x()
{
cd "path"
items=(*)
items=$("ls -l")
for((i=0;i<${#items};i++));
do
echo ${items[$i]} | cat ${items[$i]}.*| head
done
}
x
我正在尝试列出&#34; head&#34;对于目录中的每个文件
答案 0 :(得分:2)
删除命令周围的引号:
items=$(ls -l)
但是,只是出了什么问题:
head *.*
这将获得所有文件的头部。
答案 1 :(得分:0)
您可能需要对系统命令使用反引号。
尝试以下
items=`ls -l`
已编辑以修复错误
答案 2 :(得分:0)
命令被解释为整个命令。只需删除
中的引号$("ls -l")
并且命令将被正确识别(带有选项-l的ls,而不是“ls -l”命令)