スクリプトで新しい端末セッションを開いて対話するにはどうすればよいですか?

スクリプトで新しい端末セッションを開いて対話するにはどうすればよいですか?

私はこれを試みます:

#!/usr/bin/env sh

name="video.mp4"

ffmpeg -i "$name" -acodec copy output.mp4 | mate-terminal

新しくオープンしたターミナルで結果を見たいのですが、当然そうではありません。

ベストアンサー1

これが必要です。

mate-terminal -e "bash -c \"ffmpeg -i $name -acodec copy output.mp4;read -p'Press Enter to quit'\""

説明する: 私たちが望むのは、2つのコマンド(そして他のコマンドも可能)を実行することです。

ffmpeg -i $name -acodec copy output.mp4
read -p'Press Enter to quit'

それらをつなぐことでバッシュ-c

bash -c "ffmpeg -i $name -acodec copy output.mp4;read -p'Press Enter to quit'"

これを合致端末のコンテキストに入れるには、両方の二重引用符をエスケープする必要があります。

bash -c \"ffmpeg -i $name -acodec copy output.mp4;read -p'Press Enter to quit'\"

コンパニオンターミナル-e次の場合、1つの引数を受け入れます。

mate-terminal -e "bash -c \"ffmpeg -i $name -acodec copy output.mp4;read -p'Press Enter to quit'\""

おすすめ記事