채찍꼬리 행동

채찍꼬리 행동

내 코드:

read -ra var <<<$(sed -ne's/^ *:\([[:upper:]]*\).*/\1/p' /etc/sysconfig/iptables)
chains=$(whiptail --title "Add rule" --menu "chains" 16 78 5 "${var[@]}" 3>&1 1>&2 2>&3)

휩테일 메뉴에 사용 가능한 모든 iptables 체인을 포함하고 싶지만 스크립트를 실행하면 다음과 같은 결과가 나타납니다.

규칙 추가 창이 비어 있는 스크린샷

그러나 Whip tail 구문을 추가하면 --ok-button다음과 같은 결과가 나타납니다.

chains=$(whiptail --title "Add rule" --menu "chains" 16 78 5 --ok-button "${var[@]}" 3>&1 1>&2 2>&3)

출력 전달 선택 스크린샷

--ok-button(예: Ok) 뒤에 몇 가지 선택 항목을 작성해야 한다는 것을 알고 있지만 이 스크립트를 실행하면 첫 번째 그림에 표시된 내용을 얻습니다.

Beyond --menu태그를 추가했지만 --notags여전히 첫 번째 이미지에 표시된 내용을 얻었습니다.

공백을 제거하면 다음과 같습니다.

chains=$(whiptail --title "Add rule" --menu "chains" 16 78 5 --ok-button Ok"${var[@]}" 3>&1 1>&2 2>&3)

이해합니다:

출력 선택 스크린샷

--notags음 , 배열의 항목만 표시하는 레이블을 추가하고 싶습니다.var

이 문제를 해결하려면 어떻게 해야 합니까?

답변1

옵션 --notags--ok-button사라져야합니다앞으로옵션 --menu. 그 수정된 행동메뉴작은 부품.

선적 서류 비치채찍 꼬리약간의 작업이 필요합니다. 다음에 대한 매뉴얼 페이지를 찾을 수 있습니다.대화도움이 됨: 나는 다음에서 strings /usr/bin/whiptail본다채찍 꼬리옵션 은 있는데 --notags설명이 없네요채찍 꼬리~의맨 페이지. 대화 상자에서:

   --no-tags
          Some  widgets  (checklist, inputmenu, radiolist, menu) display a
          list with two columns (a "tag" and "description").  The  tag  is
          useful  for scripting, but may not help the user.  The --no-tags
          option (from Xdialog) may be used to suppress the column of tags
          from  the  display.  Unlike the --no-items option, this does not
          affect the data which is read from the script

대화( --notags에 매핑됨-no-tagsX대화후자의 이름을 사용하여 함수를 먼저 구현합니다.

관련 정보