将文件名传递给变量时找不到命令错误

时间:2018-07-01 11:51:12

标签: linux bash shell variables parameter-passing

#!/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')

没有任何效果。

1 个答案:

答案 0 :(得分:-1)

该脚本有两个问题:

  • 分配给变量不允许在=

    周围留空格
    var="val"  # OK
    var = "val"  # Not OK
    
  • 您几乎肯定会在寻找命令替换:

    var=$(something that produces output)
    

    即使这不是错误的根源。前一个是。