내 터미널 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

관련 정보