Shell-Script
Bash 腳本中多個文件的輸出命名變數
我創建了一個腳本,它將填充一系列 Jpg,在工作目錄中創建一個子目錄,將填充的 Jpg 移動到子目錄,更改到子目錄,然後使用 Imagemagick 的轉換命令覆蓋單個透明 .gif在填充的圖像上。除了最後一步之外,其他所有步驟都有效。如果我在一個 Jpg 文件上執行此腳本,它可以正常工作。但是當我在多個 Jpg 上嘗試它時,它只會在一個 Jpg 而不是其他 Jpg 上半工作。我假設我在最後一個命令中沒有使用正確的命名變數,但我沒有運氣找到更正。
bash 腳本:
#!/bin/bash if yad \ --image "dialog-question" \ --title "Alert" \ --button=gtk-yes:0 \ --button=gtk-no:1 \ --text "Have you resized JPGs?" then convert *.jpg "$i" -bordercolor black -border 120x0 "pad$i.jpg" mkdir -p ./padded; mv pad*.jpg $_ cd padded cp /home/mastergif/ggg.gif /home/test/padded convert ggg.gif *.jpg "$i" -background black -gravity center -compose dstover -composite $i*.jpg exec bash else exit 1 fi
我在成員 G-Man 的幫助下解決了這個問題。我需要一個循環:
for i in *.jpg; do c=$(($c+1)) convert ggg.gif "$i" -background black -gravity center -compose dstover -composite $c.jpg done