
답변1
아래 스크립트는 dmenu를 불러오고 bash의 stdout으로 선택 항목을 반환하는 것으로 보입니다.
#!/bin/bash
cat ~/.bash_history | dmenu -l 20
exit
질문 헤더에 대한 최고의 Google 검색으로 여기에 왔습니다. "dmenu 출력을 명령으로 파이프하는 방법은 무엇입니까?" 나는 bash 쉘의 dmenu에서 선택 항목을 실행하는 간단한 스크립트를 찾고 있었습니다. 다음은 bash에서 작동하는 것으로 보입니다.
#!/bin/bash
read thing2execute <<< $(cat ~/.bash_history | dmenu -l 20)
$thing2execute
exit
또한 suckless.org에는 이 작업을 수행하기 위한 훨씬 더 복잡한 범용 스크립트가 있습니다. https://tools.suckless.org/dmenu/scripts/dmenu_run_with_command_history/
답변2
약간의 인터넷 검색 끝에 Mike의 답변과 비슷하지만 조금 더 간단한 솔루션을 찾았습니다. $()를 사용하여 작업을 수행할 수 있습니다.
$(cat ~/.bash_history | dmenu -l 20)
이를 통해 기본적으로 dmenu에서 출력을 가져와 다음 명령으로 실행할 수 있습니다.