mv:无法通过*进行统计


Answers:


7

我可以想到发生这种情况的2个可能原因:

  1. 源目录可能不存在(或)
  2. 源目录可能为空

如果两者都不忽略!


5

您需要使用$USER用户扩展到您的用户名。/home/user仅当您有一个名为的用户时才有效user。如果temp1并且temp2存在于您的主目录中,它将起作用

mv /home/$USER/temp1/* /home/$USER/temp2

3

我会尽力帮助您消除混乱:

  • 如果要移动的文件夹它的内容到另一个,你输入:

    mv ~/Scripts ~/Podcasts

  • 如果要将文件夹的内容而不是文件夹本身移动到另一个文件夹,则必须输入mv ~/Scripts/* ~/Podcasts。您可以输入echo ~/Scripts/*以检查文件夹的内容

  • (如果您还需要了解globstar,这将允许您遍历所有目录级别,请参阅本文本文。可以通过shopt -s globstar启用它,但需要将其放入.bashrc中,以使其永久起作用。 )

tilde〜/ Scripts中的〜/home/mike/由shell自动扩展为或您的用户名)


0

如果您使用的是bash并且源目录为空,则可以使用以下命令修改Shell的默认glob扩展行为:

shopt -s nullglob

启用nullglob并导致任何后续命令mv在源目录为空时正常运行。请注意,这可能导致其他命令ls发生异常行为。

您可以使用以下方法再次禁用nullglob:

shopt -u nullglob

有关更多信息,请在此处此处

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.