Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.os.linux.programowanie > #2195

Wywołanie whiptail z pod skryptu

Newsgroups pl.comp.os.linux.programowanie
Date 2020-02-18 12:13 -0800
Message-ID <e88dbd6f-0ce9-494b-aac7-8d5a301e1afb@googlegroups.com> (permalink)
Subject Wywołanie whiptail z pod skryptu
From jaworski1978@adres.pl

Show all headers | View raw


Cześć!

Wpakowałem się w robienie własnego instalatora dla Linux-a. Pierwszą wersję mam już "wstępnie zakodowaną" teraz ją uruchamiam. Napotkałem problem z jakim nie potrafię sobie poradzić. Mam skrypt 20-license.sh używający whiptail (okrojony następca dialog-a) wyświetlający licecję w celu zmuszenia użytkownika do jej zaakceptowania. Skrypt wywoływany bezpośrednio z konsoli działa. Jednak ja mam więcej skryptów do wywołania w czasie instalacji i wywołuję je "budując" komendę w Bash-u. Próbowałem różnych "sztuczek" i różnych porad z internetów jednak nic one nie dały. Skrypt się uruchamia, nie wyświetla na bieżącej konsoli okienka tylko "gdzieś indziej". Jak kliknę TAB i ENTER skrypt poprawnie się kończy potwierdzeniem licencji.

Proszę o pomoc i z góry dzięki!
Jacek

System: Kubuntu 19.10, testowane w emulatorze terminala Konsole.

Komenda która działa:
$/var/tmp/racja-istnienia-3.0.0-setup/sbin/pre-install/20-license.sh "/var/tmp/racja-istnienia-3.0.0-setup/share/racja-istnienia/license.txt"

Komenda która nie działa a (chyba) powinna:
$ i="\$(/var/tmp/racja-istnienia-3.0.0-setup/sbin/pre-install/20-license.sh \"/var/tmp/racja-istnienia-3.0.0-setup/share/racja-istnienia/license.txt\")"
$ echo $i
$(/var/tmp/racja-istnienia-3.0.0-setup/sbin/pre-install/20-license.sh "/var/tmp/racja-istnienia-3.0.0-setup/share/racja-istnienia/license.txt")
$ eval $i

To ostanie wypisuje:
: nie znaleziono polecenia


Kod problematycznego skryptu jest taki:

#!/bin/bash

############################################################################
# Global variables

gLicenseFile="$1"

gScriptName="$(basename $0)"
gScriptName="${gScriptName%.*}"

############################################################################
# Functions

function gHelp
{
    echo "Directory selection script based on whiptail menu." 
    exit 1
}

[ "$1" = "-h" ] && gHelp
[ "$1" = "--help" ] && gHelp

############################################################################
# Main

[ ! -f "$gLicenseFile" ] && echo "License file not found! Missing file: $gLicenseFile" && exit 1

if(whiptail --title "Licensing Info" --textbox "$gLicenseFile" --scrolltext 25 75 --ok-button "Press to confirm" --fb); then
    echo "License accepted!"
    exit 0
else
    echo "License rejected!"
    exit 1
fi

Back to pl.comp.os.linux.programowanie | Previous | NextNext in thread | Find similar


Thread

Wywołanie whiptail z pod skryptu jaworski1978@adres.pl - 2020-02-18 12:13 -0800
  Re: Wywołanie whiptail z pod skryptu Roman Tyczka <noemail@because.no> - 2020-02-19 09:35 +0100

csiph-web