【问题标题】:Shellscript Newbie - Issue with Wildcards & Arguments in a ScriptShellscript Newbie - 脚本中的通配符和参数问题
【发布时间】:2016-11-20 22:48:53
【问题描述】:

正如标题所示,我刚开始使用 shellscript,所以不太了解它!

我的问题是 - 为什么以下通配符在 bash 中起作用

    mv *.txt /root/Dustbin

但我的 shellscript 文件只移动一个 .txt 文件而不是全部?我安装脚本并按如下方式调用它

del *.txt

这是脚本:

#!/bin/sh
#sh scriptname del

mv -u $1 /root/Dustbin

#END OF SCRIPT

希望我的问题有意义

提前感谢您的帮助

【问题讨论】:

  • 因为$1 只引用一个文件。试试mv "$@" /root/Dustbin

标签: bash shell wildcard


【解决方案1】:

$1 是脚本的第一个参数。所以即使有多个文件匹配*.txt,也只会移动第一个。 如果要移动所有这些,请改用"$@"

#!/bin/sh

mv -u "$@" /root/Dustbin

【讨论】:

  • 谢谢!对它进行排序
猜你喜欢
  • 2021-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-29
  • 2012-10-02
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
相关资源
最近更新 更多