繁体   English   中英

Bash-从循环中获取基本名称

[英]Bash - get basename from loop

我试图从循环中获取基basename ,但这只会返回"*"

FILES=("/home/aaaa/bbbb/*") #Get all folders
for f in "${FILES[@]}"
do
  basename "$f"
done

我做错了什么?

您甚至不需要创建数组并执行如下循环:

for f in /home/aaaa/bbbb/*
do
  # get the basename using pure BASH
  base="${f##*/}"
  echo "base is: $base"
done

通过使用("/home/aaaa/bbbb/*") ,仅使用一个文字字符串"/home/aaaa/bbbb/*"创建一个数组。

相反,请删除引号,然后简单地说:

FILES=(/home/aaa/bbb/*)
for f in "${FILES[@]}"
do
  basename "$f"
done

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM