簡體   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