【问题标题】:Command not found error when passing filename to a variable [duplicate]将文件名传递给变量时找不到命令错误[重复]
【发布时间】:2018-12-09 21:43:50
【问题描述】:
#!/bin/bash

file_name = $1
ext = (file -b --mime-type $file_name | sed 's/application\///g')
echo $file_name $ext

执行代码时看到以下错误消息:

file_extractor.sh:第 3 行:file_name:找不到命令

file_extractor.sh:第 4 行:ext:找不到命令

我尝试在变量中添加引号,file_name = "$1" 不起作用, 然后用双引号替换$(file -b --mime-type $file_name | sed 's/application\///g')

没有任何效果。

【问题讨论】:

标签: linux bash shell variables parameter-passing


【解决方案1】:

您在该脚本中有两个问题:

  • 对变量的赋值不允许= 周围有空格

    var="val"  # OK
    var = "val"  # Not OK
    
  • 您几乎肯定在寻找命令替换:

    var=$(something that produces output)
    

    即使这不是您的错误的根源。前者是。

【讨论】:

  • 谢谢大哥!!
猜你喜欢
  • 1970-01-01
  • 2014-10-06
  • 2021-11-30
  • 2013-04-19
  • 2017-05-21
  • 2019-02-16
  • 2017-12-15
  • 2012-06-24
  • 1970-01-01
相关资源
最近更新 更多