簡體   English   中英

將shell結果傳遞給另一個shell命令?

[英]Passing shell result to another shell command?

只是在這里學習Automator,但我試圖在文件(blah.rtf-> blah.mobi)上運行轉換命令,我想獲取生成的.mobi文件,並在另一個文件上運行另一個shell命令。行動。 要么,或者有沒有辦法將其設置為第二個變量並以相同的動作對其進行操作?

到目前為止,這是我的代碼(使用Calibre命令行工具):

第一步:

for f in "$@"
do
    ebook-convert "$f" "$f".mobi
done    

我想傳遞該.mobi文件運行:

for f in "$@"
do
    mv "$f" $(echo "$f" | cut -d'.' -f1).mobi
done

有什么想法嗎? 謝謝!

為了將轉換后的文件傳遞給后續操作,第一個操作必須輸出其路徑:

for f in "$@"
do
    ebook-convert "$f" "$f".mobi
    echo "$f".mobi
done

但您可以通過執行第一個操作首先創建具有正確名稱的文件來簡化操作(如@tripleee建議):

for f in "$@"
do
    ebook-convert "$f" "${f%.*}".mobi
    # echo "${f%.*}".mobi  # optional -- uncomment if you need to pass the files on to subsequent actions
done

暫無
暫無

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

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