30/3/2026

shell script invoer hulp

Filed under: — cybrarian @ 2:12 pm

Ik heb een script dat software afhaalt als broncode en compileert tot werkend programma:

./InstallFromNextcloud.sh

Als parameter geef ik de naam van de software in, en het versienummer dat ik wil installeren.

Weet ik dat niet, en laat ik de versie weg, dan toont het script alle versies die beschikbaar zijn.

Als geen parameter is gegeven, bv omdat ik de naam niet van buiten weet, krijg ik alle mogelijkheden te zien:

...
if [ -z "$1" ]
then
  echo "No application name to install. Available in releasedir... "
  echo $releasedir
  ls -lFAh $releasedir
  ...

Maar soms is die lijst te lang, ik wil de eerste letters kunnen geven. Ik pas mijn script aan: als er maar een paar letters zijn ingegeven (hier bv max 3), wordt verondersteld dat dat niet de naam van de af te halen software is, maar enkel de eerste letters, en wordt alles getoond dat daarmee begint.

...
size=${#1}
echo "$size"
echo "Script to install gambas3 app ($1) with version ($2) in $targetdir .." 
cd $targetdir/gb3prj
if (($size < 4))
then
  echo "smaller than 4"
  ls -lFAh $releasedir/$1*
  echo "please enter complete name for ($1)"
  exit 0
fi
...

Dan stopt het script hier; met pijltje naar boven kan ik het vorig commando ophalen en aanvullen met wat ik ondertussen gelezen heb.

Powered by WordPress