簡體   English   中英

bash 腳本中未填充變量

[英]Variable not populating in a bash script

我有一個愚蠢的時刻。 我沒有填充這個變量。

for i in ~/Ws/*.png; 
do 
  echo $i; 
  FNAME=cmd basename $i;
  echo $FNAME;
done;

例如,我得到以下 output

home/Ws/BrainLearning.png
BrainLearning.png

但是最后一行是空白的,我不明白為什么。 $FNAME基本上沒有填充我期望的信息。

如果您打算用$i的基本名稱填充FNAME

FNAME=$(basename $i)
echo "FNAME: $FNAME"

改變

FNAME=cmd basename $i;

進入

FNAME="cmd $(basename $i)";

您顯示的代碼有語法錯誤,我建議您在 shellcheck.net 上運行您的腳本

但是,您也可以使用此find命令來完成您嘗試執行的操作,而無需任何循環:

find ~/Ws -name '*.png' -execdir echo {} +

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM