হুইপটেল বা ডায়ালগ


15

আমি স্ক্রিপ্ট তৈরি করতে যাচ্ছি যা ব্যবহারকারীর ইনপুট ব্যবহার করবে, তাই আমি হুইপটেলটি ব্যবহার করার সিদ্ধান্ত নিয়েছি, তবে সামান্য কিছুটা বিভ্রান্ত করব যেটি কোনটি বহনযোগ্য এবং উবুন্টু ১০.x এবং উচ্চতর এবং সেন্টোএস ৫.x এবং উচ্চতর ক্ষেত্রে কাজ করবে।

আমি জানি read, তবে আমি হাতিয়ারের মতো ডায়ালগ চাই, তাই যদি কেউ কোনও বিকল্প জানেন তবে আমাকে জানান।


পারেনি whiptailএকটি চেরা বন্ধ বন্ধ dialog?
sjas

উত্তর:


12

whiptailবেশিরভাগ দেব-ভিত্তিক সিস্টেমে ডিফল্টরূপে ইনস্টল করা থাকে, যদিও dialogতা নয়।

আরপিএম-ভিত্তিক আফায়ার whiptailহ'ল ডিফল্ট ডায়ালগ অ্যাপ।

আমার ধারণা এটি আপনার পক্ষে গুরুত্বপূর্ণ।

সুতরাং whiptailবহনযোগ্যতা দৃষ্টিকোণ থেকে ডান পছন্দ।

এছাড়াও whiptailউপর ভিত্তি করে newt, dialogভিত্তিক হয় ncurses। আমার দৃষ্টিকোণ থেকে, প্রথমটি আরও সুন্দর (:


অতিরিক্ত তথ্য জানার জন্য ভাল :)
রাহুল পাতিল

2
স্ক্রিপ্ট বেশী বা কম পোর্টেবল হতে পারে, কিন্তু ডায়ালগটি প্রোগ্রাম নিজেই whiptail চেয়ে কম পোর্টেবল।
টমাস ডিকি

8

উভয় ব্যবহার করবেন না কেন:

(ব্যাশ 4 প্রয়োজন)

#!/usr/bin/env bash
t(){ type "$1"&>/dev/null;}
function Menu.Show {
   local DIA DIA_ESC; while :; do
      t whiptail && DIA=whiptail && break
      t dialog && DIA=dialog && DIA_ESC=-- && break
      exec date +s"No dialog program found"
   done; declare -A o="$1"; shift
   $DIA --backtitle "${o[backtitle]}" --title "${o[title]}" \
      --menu "${o[question]}" 0 0 0 $DIA_ESC "$@"; }



Menu.Show '([backtitle]="Backtitle"
            [title]="Title"
            [question]="Please choose:")'          \
                                                   \
            "Option A"  "Stuff...."                \
            "Option B"  "Stuff...."                \
            "Option C"  "Stuff...."    

1
তাই জটিল. কেন ভালো কিছু না: which whiptail && window=whiptail; which dialog && window=dialog; [ -z window ] && echo "no whiptail or dialog"। তারপরে অপ্টটি কেবল $ $ উইন্ডো করতে পারে - টাইটেল ফু - এমএসবক্স বার 87 5 ``
জেমস এম লে লে

6

(এটি অবশ্যই কোনও উত্তর নয়, তবে কোডের পরিমাণের কারণে আমি এটি পোস্ট করেছি with এর সাথে আমার কোনও ব্যবহারিক অভিজ্ঞতা নেই whiptaillater পরে যদি কোনও whiptailব্যবহারকারী এটির পরীক্ষামূলক সমাধান পোস্ট করে তবে এটিকে মুছে ফেলব ))

যেমন বাশ শেল স্ক্রিপ্টিং / হুইপটেল লিখেছেন:

এর README থেকে: হুইপটেলটি ডায়ালগ (1) এর সাথে ড্রপ-ইন সামঞ্জস্য করার জন্য ডিজাইন করা হয়েছে তবে এর বৈশিষ্ট্যগুলিও কম রয়েছে: কিছু ডায়ালগ বাক্স প্রয়োগ করা হয়নি, যেমন টেলবক্স, টাইমবক্স, ক্যালেন্ডারবক্স ইত্যাদি are

তার মানে আপনার অগত্যা এক বা অন্যটির জন্য সিদ্ধান্ত নিতে হবে না। কোনটি উপলভ্য তা কেবল সনাক্ত করুন তারপরে স্ক্রিপ্টটি এটি ব্যবহার করতে দিন:

# check whether whiptail or dialog is installed
# (choosing the first command found)
read dialog <<< "$(which whiptail dialog 2> /dev/null)"

# exit if none found
[[ "$dialog" ]] || {
  echo 'neither whiptail nor dialog found' >&2
  exit 1
}

# just use whichever was found
"$dialog" --msgbox "Message displayed with $dialog" 0 0

(হ্যাঁ, উপরের সনাক্তকরণটি নতুন লাইনের অক্ষরযুক্ত নাম সহ ডিরেক্টরিগুলির ভিতরে ইনস্টল করা সরঞ্জামগুলিতে ব্যর্থ হবে I আমি কেবল এটি সহজ রেখেছি))


5

কথোপকথনের (1) ম্যানুয়াল পৃষ্ঠার সংযোগ বিভাগ অনুযায়ী :

তারপরে হুইপটেল রয়েছে । ব্যবহারিক উদ্দেশ্যে, এটি ডেবিয়ান দ্বারা পরিচালিত হয় (খুব কম কাজই এর প্রবাহের বিকাশকারীরা করে থাকে)। এর ডকুমেন্টেশন (README.whiptail) দাবি করে

হুইপটেল (1) শেল স্ক্রিপ্টগুলির জন্য ডায়ালগ বাক্স সরবরাহ করতে ডায়লগ (1) এর জন্য একটি হালকা ওজনের প্রতিস্থাপন । এটি এনসিআরএস লাইব্রেরির পরিবর্তে নতুন উইন্ডোং লাইব্রেরিতে নির্মিত হয়েছে, এটি এম্বেডযুক্ত পরিবেশ যেমন ইনস্টলার, রেসকিউ ডিস্ক ইত্যাদিতে এটি ছোট হতে দেয় allowing

হুইপটেলটি ডায়ালগের সাথে ড্রপ-ইন সামঞ্জস্যপূর্ণ হওয়ার জন্য ডিজাইন করা হয়েছে তবে এর বৈশিষ্ট্যগুলিও কম রয়েছে: কিছু ডায়ালগ বাক্স প্রয়োগ করা হয় না, যেমন টেলবক্স, টাইমবক্স, ক্যালেন্ডারবক্স ইত্যাদি are

প্রকৃত আকার (ডেবিয়ান টেস্টিং, 2007/1/10) তুলনা জন্য আকারের মোট whiptail , নিউট, popt এবং অপভাষা লাইব্রেরি 757 কিলোবাইট হয়। কথোপকথনের জন্য তুলনীয় সংখ্যা (গণনা ncurses) 520 কেবি। প্রথম অনুচ্ছেদে উপেক্ষা করুন।

দ্বিতীয় অনুচ্ছেদ বিভ্রান্তিকর, যেহেতু * হুইপটেল ** গেজ বাক্সের মতো ডায়ালগের সাধারণ বিকল্পগুলির জন্যও কাজ করে না । আসল 1990-এর দশকের মধ্যবর্তী ডায়ালগ 0.4 প্রোগ্রামের চেয়ে হুইপটেল সংলাপের সাথে কম সুসংগত ।

হুইপটেলের ম্যানপেজটি ডায়ালগ থেকে বৈশিষ্ট্যগুলি ধার করে , উদাহরণস্বরূপ, তবে অদ্ভুতভাবে কেবল উত্স হিসাবে 0.4 (1994) পর্যন্ত ডায়ালগের সংস্করণগুলি উদ্ধৃত করে । অর্থাৎ এর ম্যানপেজটি এমন বৈশিষ্ট্যগুলিকে বোঝায় যা ডায়ালগের আরও সাম্প্রতিক সংস্করণগুলি থেকে ধার করা হয়েছিল , যেমন,

  • --গেজ (0.5 থেকে)

  • - পাসওয়ার্ডবক্স (১৯৯৯ সালে দেবিয়ান পরিবর্তন থেকে),

  • --default- আইটেম ( ডায়ালগ 2000/02/22 থেকে ),

  • - আউটপুট - এফডি ( ডায়ালগ 2002/08/14 থেকে )

কিছুটা খিটখিটি, এক নোট করতে পারে যে popt একটি ব্যবহারের বৈশিষ্ট্য (তার র manpage মধ্যে অনথিভুক্ত) - হিসাবে একটি পালাবার মধ্যে নথিভুক্ত করা হয় "" ডায়ালগ 'প্রায় এক বছর গুলি র manpage আগেই উল্লেখ করা হয়েছে whiptail এর র manpage। হুইপটেলের ম্যানপেজটি ভুলভাবে এটিকে গিওপট করার জন্য বৈশিষ্ট্যযুক্ত করে (এবং যাইহোক এটি ভুল নয়)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.