我有一个包含一些文件的文件夹,包括“.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”。我怎样才能让它发挥作用?
答案 0 :(得分:2)
试试这个
#!/bin/bash
folderpath="folder"
for filename in "${folderpath}"/*.bar; do
mkdir "$(basename "${filename%.*}")"
done
PATH是一个内部shell变量,不应在shell脚本中使用。