Linux
每個新循環都有不同的參數值
這適用於 webp 使用
cwebp
,我正在測試所有不同的可能質量,給定:cwebp -q 75 file.jpeg -o file.webp
我想要一個像這樣的循環:
for i in {1..4}; do cwebp -q ?? file.jpeg -o file.webp; done
在哪裡 ??應該針對特定值進行更改,例如:
- 第一個循環 75
- 第二個循環80
- 第三個循環為 85
- 第四個循環 90
如何實現自動化,這樣我就不需要輸入 4 次相同的命令並更改哪個時間的參數
- 我想要一行或一個腳本中的 bash 命令,而不是任何其他程式語言。
- 我不確定正確的命令是
for
,while
還是其他
看起來你想要的是這樣的:
for i in 75 80 85 90; do cwebp -q "$i" file.jpeg -o file.webp; done
雖然這每次都會覆蓋輸出文件,但您可能希望在輸出文件名中使用質量:
for i in 75 80 85 90; do cwebp -q "$i" file.jpeg -o file-"$i".webp; done
如果值 75, …, 90 不是任意值,並且您知道將以 Z 為步長從 X 開始並在 Y 結束,則可以使用大括號擴展或算術
for
循環來生成這些值:for i in {75..90..5}; do cwebp -q "$i" file.jpeg -o file-"$i".webp; done for ((i = 75; i <= 90; i += 5)); do cwebp -q "$i" file.jpeg -o file-"$i".webp; done