我正在尝试运行一个命令示例:
sudo mv /home/vaishnavi/Downloads/*.ttc /home/vaishnavi/Downloads/*.ttf /usr/local/share/fonts/ms_fonts/
它在终端中运行良好,但是当我尝试在 shell 脚本 ( .sh
) 中添加它时,我收到一条错误消息:
mv: cannot stat '/home/vaishnavi/Downloads/*.ttf': No such file or directory
简单地说,在这种情况下,我想将所有文件.ttf
和.ttc
类型移动到。/usr/local/share/fonts/ms_fonts/
坦率地说,我在 shell 脚本方面并不是那么专家。请向我解释我做错了什么以及实现预期结果的替代方法。
我的示例脚本:
sudo mv /home/vaishnavi/Downloads/*.ttc /home/vaishnavi/Downloads/*.ttf /usr/local/share/fonts/ms_fonts/
...
exit 0
如果那里没有 *.ttf 文件,您将收到此错误。默认情况下,如果没有文件与 glob 模式匹配,则模式本身会保留在命令中。
nullglob
使用 bash shell 选项将其关闭为了更安全一点,请确认确实有一些文件要移动: