在bash脚本中找不到命令

时间:2018-05-17 14:59:06

标签: linux bash

我有一个包含一些文件的文件夹,包括“.bar”文件。现在我想创建一个bash脚本,找到这些“.bar”文件,并创建一个具有相同名称的文件夹。但是我似乎无法正确使用语法。

我用:

#!/bin/bash
PATH="folder"

for filename in ${PATH}/*.bar; do
    mkdir $(basename ${filename%.*})
done

当我在终端中使用它时似乎工作,但是当我在脚本中输入它时失败并显示错误:“basename:command not found”和“mkdir:command not found”。我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:2)

试试这个

#!/bin/bash
folderpath="folder"

for filename in "${folderpath}"/*.bar; do
    mkdir "$(basename "${filename%.*}")"
done

PATH是一个内部shell变量,不应在shell脚本中使用。