[英]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.