터미널 내에서 실행하고 간단한 명령을 전달하기 위해 아래와 같이 간단한 스크립트를 작성했는데, 이 스크립트를 실행하면 오류가 발생합니다.
스크립트:
#!/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
이는 파이프라인을 실행하는 인라인 스크립트를 사용하여 수행 됩니다 .