Deepin Terminal:サブプロセスの実行に失敗しました。

Deepin Terminal:サブプロセスの実行に失敗しました。

ターミナル内で実行し、簡単なコマンドを渡すために以下のような単純なスクリプトを作成しましたが、このスクリプトを実行するとエラーが発生します。

スクリプト:

#!/bin/bash

deepin-terminal -m fullscreen -e "cmatrix | lolcat"

間違い:

Failed to execute child process “cmatrix | lolcat” (No such file or 
directory)

コマンドを渡すとcmatrix機能しますが、使用しません。cmatrix | lolcat

答え1

ほとんどの端末エミュレータと同様に、-eこのオプションにも簡単なコマンドが必要です。deepin-terminalパイプは単純なコマンドではありません。

このエラーは、cmatrix | lolcatスペースとパイプ記号を含むリテラル名でコマンドを実行しようとしている端末で発生します。

代わりに

deepin-terminal -m fullscreen -e sh -c "cmatrix | lolcat"

shこれはパイプラインを実行するインラインスクリプトを使用して行われます。

関連情報