我有一个shell脚本代码,目的是从我所在的子目录中打印所有子目录下文件的所有内容。尽管出现一些错误。
我使用以下命令运行shell脚本:./ thisCodeScriptFile
#!/bin/bash
for i in *; do
if [ -d $i ]; then
cd $i
~/thisCodeScriptFile
cd ..
else
cat $i >> ~/resultFile
fi
done
我收到的错误:
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: resultFile: input file is output file
cat: '*': No such file or directory
cat: '*': No such file or directory
cat: '*': No such file or directory
答案 0 :(得分:0)
如果需要,您可以使用它。简单而有效
find . -type f -printf '%f\r\n'
答案 1 :(得分:0)
cat: '*': No such file or directory
错误是由于文件夹为空。我认为另一个错误是因为您启动了主文件夹中的脚本。建议您修改脚本以测试空文件夹,如下所示:
#!/bin/bash
for i in *; do
if [ -d $i ]; then
cd $i
if [ ! -z "$(ls -A .)" ]; then
~/thisCodeScriptFile
fi
cd ..
else
echo $i
cat $i >> ~/resultFile
fi
done