簡體   English   中英

從Automator將多個參數傳遞到Shell腳本

[英]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.

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