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