내 터미널(ala tmux)을 탐색하는 더 쉬운 방법이 있습니까?

내 터미널(ala tmux)을 탐색하는 더 쉬운 방법이 있습니까?

파일 목록을 살펴보고 터미널을 통해 대화형으로 열고 싶다고 가정해 보겠습니다.

locate filename | head -n 1 | xargs xdg-open

아니면 그런 것. 다른 옵션은 마우스를 사용하여 표시되는 파일 이름을 클릭한 다음 붙여넣는 것입니다.

Tmux를 사용하면 터미널을 탐색하고 행을 복사하여 명령에 통합할 수 있습니다. Bash나 zsh에서 이 작업을 수행할 수 있습니까? 아니면 터미널 에뮬레이터에서 직접 수행할 수 있습니까?

답변1

먼저 선택사항을 배열에 넣으세요. 배시 구문:

IFS=$'\n' read -r -d '' -a choices < <(locate filename)

Zsh 구문:

choices=("${(@f)$(locate filename)}")

사용자가 항목 중 하나를 선택할 수 있도록 하는 기술은 낮지만 사용자 친화적이지는 않은 방법은select건설하다.

select choice in "${choices[@]}"; do
  xdg-open "$choice"
  break
done

(Bash 구문; 이는 zsh에서도 작동하지만 단순화될 수 있습니다.)

더 나은 인터페이스를 위해 다음을 사용할 수 있습니다.대화.

menu_args=()
for c in "${choices[@]}"; do
  menu_args+=("$c" "$c")
done
if choice=$(dialog --menu "$title" "$LINES" "$COLUMNS" "$LINES" "${menu_args[@]}"); then
  xdg-open "$choice"
fi

관련 정보