shell 我不知道为什么会出现这些错误

bbuxkriu  于 2023-02-13  发布在  Shell
关注(0)|答案(1)|浏览(147)

错误:
./主题压缩:第8行:查找匹配''时出现意外的EOF
./主题压缩:第11行:语法错误:意外的文件结束
我的代码:

cat ~/scripts/script-files/repos.txt | xargs -I % sh -c git clone %' && ls
ls -d ~/themes/* > ~/scripts/script-files/dirs
lines=$(wc --lines ~/scripts/script-files/dirs)
sed s/.$// ~/scripts/script-files/dirs > ~/scripts/script-files/dirs1
paste ~/scripts/script-files/dirs1 ~/scripts/script-files/dirs > ~/scripts/script-files/dirs2
cat ~/scripts/script-files/dirs1 | xargs -I % sh -c 'zip -r -q ~/themes/% ~/themes/%/'
cat ~/scripts/script-files/dirs1 | xargs -I % sh -c 'rm -r ~/themes/%/'
rm ~/scripts/script-files/dirs*
fd3cxomn

fd3cxomn1#

信息应该相当明确:您缺少一个'。并且在文件的结尾,您没有关闭最后的引号,因此文件结尾是一个语法错误。
有时候,查找遗漏的引用是很困难的。shellcheck.net可以帮助您找到可能出错的地方。大多数Linux发行版也有一个包shellcheck,它的功能基本相同。
Shellcheck会给予一些更多的提示,比如cat的无用使用和lines从未被使用的事实。
就我个人而言,我也会将sed模式放在单引号中,尽管shellcheck没有提到它。
而且,正如@user2182349在评论中所说,第一行缺少引用。

相关问题