我有一个包含一些文件的文件夹,其中包括“.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”。我怎样才能让它发挥作用?
最佳答案
试试这个
#!/bin/bash
folderpath="folder"
for filename in "${folderpath}"/*.bar; do
mkdir "$(basename "${filename%.*}")"
done
PATH 是一个内部 shell 变量,不应在您的 shell 脚本中使用。
关于linux - 在 bash 脚本中找不到命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50394616/