我编写了一个简单的脚本,如下所示来运行 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
使用运行管道的内联脚本执行。