🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72940

Wywołanie whiptail z pod skryptu

#72940
From: jaworski1978
Date: Tue, 18 Feb 2020 20:13
58 lines
3574 bytes
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
Technical Details
Message-ID: <e88dbd6f-0ce9-494b-aac7-8d5a301e1afb@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.unit0.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:3fa9:: with SMTP id d38mr17951007qtk.333.1582056821629;        Tue, 18 Feb 2020 12:13:41 -0800 (PST)
X-Received: by 2002:a37:4141:: with SMTP id o62mr19937579qka.282.1582056821449; Tue, 18 Feb 2020 12:13:41 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.unit0.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.os.linux.programowanie
Date: Tue, 18 Feb 2020 12:13:41 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=188.147.99.32; posting-account=uFgJ3goAAAAHaGlwfVGxxrSUMlvEACGk
NNTP-Posting-Host: 188.147.99.32
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e88dbd6f-0ce9-494b-aac7-8d5a301e1afb@googlegroups.com>
Subject: Wywołanie whiptail z pod skryptu
From: jaworski1978@adres.pl
Injection-Date: Tue, 18 Feb 2020 20:13:41 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit