deepin-терминал: не удалось выполнить дочерний процесс

Я написал простой скрипт, как показано ниже, для запуска deepin-терминала и передачи ему простой команды, но когда я выполняю этот скрипт, я получаю ошибку.

Автор сценария:

#!/bin/bash deepin-terminal -m fullscreen -e "cmatrix | lolcat" 

Ошибка:

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

Если я просто cmatrix команду cmatrix она работает, но не работает с cmatrix | lolcat cmatrix | lolcat

One Solution collect form web for “deepin-терминал: не удалось выполнить дочерний процесс”

Опция -e для deepin-terminal , как и для большинства эмуляторов терминала, принимает простую команду. Трубопровод не простая команда.

Ошибка происходит из-за того, что терминал пытается выполнить команду с буквальным именем cmatrix | lolcat cmatrix | lolcat (включая пробелы и символ трубы).

Вместо этого используйте

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

Это выполнит sh со встроенным скриптом, который запускает ваш конвейер.

  • Сценарий оболочки для удаления самых старых файлов и папок
  • Linux и Unix - лучшая ОС в мире.