[英]passing multiple parameters to a shell script from Automator
原諒了一個新手問題。我搜尋過高低兩下,但未發現類似情況。
我正在嘗試創建一個自動過程,可以在其中向jpg圖像添加關鍵字。
我正在使用Hazel來監視Mac上的文件夾,當它找到文件時,它將調用Automator工作流腳本。 因此,腳本已經接收到一個參數(文件名和路徑)
Shell腳本執行以下操作(使用pass輸入:作為參數)(shell:/ bin / bash)
for f in "$@"
do
exiftool -keywords=myKeyWord "$1"
exiftool -delete_original! "$1"
done
到目前為止,一切正常。 我不知道如何從Automator傳遞第二個參數,這將允許我從對話框中輸入關鍵字。
我嘗試了一個文本字段(操作:詢問文本),並用“ $ 2”更新了硬編碼值“ myKeyWord”,但這給我一個錯誤,指出“由於錯誤而未更新1個文件”
任何幫助將不勝感激。
提前致謝,
托馬斯
為腳本的每個參數循環執行該循環。 但是,在循環內僅使用第一個參數: $1
而不是$f
。 因此,如果使用三個參數調用腳本,它將執行以下操作:
exiftool -keywords=myKeyWord "$1"
exiftool -delete_original! "$1"
exiftool -keywords=myKeyWord "$1"
exiftool -delete_original! "$1"
exiftool -keywords=myKeyWord "$1"
exiftool -delete_original! "$1"
也許您是想做這樣的事情(無循環)? 只是猜測:
exiftool -keywords="$2" "$1"
exiftool -delete_original! "$1"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.