linux - 当文件名的一部分时,Shell 脚本不执行星号

标签 linux bash shell sh

所以用例非常简单,如果我像这样在终端中运行命令

myCommand -input file_prefix* -output outputFolder

它将抓取目录中所有具有该前缀的文件,运行命令并将其输出到输出文件夹中。自己很容易。但是,如果我将该确切命令复制粘贴到要在 PHP 或类似程序中运行的 Shell 脚本中,它会显示 file_prefix* 找不到文件。这是因为它将星号读取为文字字符而不是通配符。我试过用单引号、双引号等将星号括起来。知道如何做到这一点吗?我见过一些人回应星号的例子,但没有人像我一样使用它作为文件前缀的一部分。谢谢你的帮助!

最佳答案

看起来正确的答案实际上是将我的 file_prefix 放在引号中并单独留下星号。最终工作副本

myCommand -input 'file_prefix'* -output outputFolder

我的 file_prefix 是一个输入参数,所以实际的最终代码是

myCommand -input '$1'* -output $2

关于linux - 当文件名的一部分时,Shell 脚本不执行星号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44728634/

相关文章:

bash - 生成一定范围的十六进制数

linux - 如何在 Linux 中使用 D 编程语言取消缓冲输入?

linux - Cacti 通过自定义脚本扩展 snmp

php - 无法在 amazon ec2 linux 服务器中使用 imagecopyresized

linux - 使用 npm 安装后找不到命令

linux - Bash:在函数调用之间共享变量

再次调用信号处理程序本身

linux - 用于确定 PID 使用多少 KB/秒 IO 的脚本

linux - 如何使用wget下载具有最新时间戳的目录

linux - 在多个文件中的现有字符串周围添加引号