1

I have written a simple script as below to run deepin-terminal and pass it a simple command but when I execute this script I get error.

Script:

#!/bin/bash

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

Error:

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

If I just pass cmatrix command it works but it does not work with cmatrix | lolcat

closed as off-topic by Kusalananda, Thomas, schily, Jesse_b, slm Aug 6 '18 at 3:01

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question has been posted on multiple sites. Cross-posting is strongly discouraged; see the help center and community FAQ for more information." – Kusalananda, Thomas, schily, Jesse_b, slm

1

The -e option for deepin-terminal, as for most terminal emulators, takes a simple command. A pipeline is not a simple command.

The error comes from the terminal trying to execute a command with the literal name cmatrix | lolcat (including spaces and pipe symbol).

Instead, use

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

This would execute sh with an in-line script, which runs your pipeline.

  • Thanks it solved the problem but deepin terminal is not running in fullscreen mode anymore. What about that? – Miladdarren Aug 5 '18 at 8:32
  • 1
    @Miladdarren I'm not familiar with deepin-terminal in particular, so I can't really say anything about why it would ignore -m fullscreen when combined with -e. – Kusalananda Aug 5 '18 at 8:47

Not the answer you're looking for? Browse other questions tagged or ask your own question.