v5.dk logo
Kom ind og besøg vores Discord Chat-community
Bliv medlem her eller læs mere om Discord her
Kærlighed kan godt købes for penge
- vi elsker nemlig vores kunder :-)

Mere info Køb nu

Premium på v5.dk
v5.dk logo  v5.dk e-learning
Log på med Facebook
  • Log ind på v5.dk
  • Opret bruger
  • Log ind
  • v5.dk Premium
  • v5.dk Premium
  • Hvad siger vores kunder?
  • E-læring for begyndere
  • icon for WordPress 4 e-learning WordPress 4
  • icon for Office 365 e-learning Office 365
  • icon for Microsoft Word e-learning Microsoft Word
  • Bloggen for alle
  • E-læring for nørder
  • icon for PHP-programmering e-learning PHP-programmering
  • icon for iOS Programmering e-learning iOS Programmering
  • icon for Linux Server e-learning Linux Server
  • Bloggen for nørder
  • Arkiverede videoer
  • Fællesskab
  • Forum
  • Idéer og ønsker
  • Markedspladsen
  • v5.dk Premium
  • Gratis webhotel
  • Cloud-servere
  • Om v5.dk
  • Søg på v5.dk
  • Om v5.dk ApS
    • Om virksomheden
    • RSS-feeds og tjenester
    • Driftsmeddelelser
    • Presse-kit
    • Ledige jobs
    • Social Netværk
      • Facebook
      • Twitter
      • Instagram
    • Alt det andet
      • Forretningsbetingelser
      • Ophavsret og Copyright
  • Kontakt kundeservice
  • FAQ og Hjælp
    • Premium og abb.
    • Videoer og Afspiller
    • Forum og Points
    • Cloud-servers
  • Partner/Virksomhed
  • Partner-kanal
v5.dk logo mobile
  • Menu
  • Opret bruger

Lav din egen Terminal Menu på Mac OS X
Sådan laver du en menu i din terminal for nem adgang til f.eks. dine servers

  1. v5.dk
  2. Blog
  3. For nørder
  4. Mac OS X
  5. Lav din egen Terminal Menu på Mac OS X
Profil-billede
GÆST   Bliv gratis medlem: Opret bruger eller log på via Facebook
Tweet
Skrevet for 7 år siden
  • #Mac OS X
  • #Script
  • #BASH
  • #Linux
  • #Ubuntu Linux
  • #Server
  • #Automatisering

Byg en terminal-menu på Mac 

Hvorfor? - kort fortalt

Jeg lever meget af mit liv i en terminal. Derfor har jeg bygget en simpel menu hvor jeg bl.a. kan forbinde til de mere end 30 servere vi har i v5.dk, samt udføre en række andre kommandoer.

I stedet for at huske IP-adresser og hostnames på alle vores servere, skriver jeg nu blot s i min terminal, vælger den server jeg vil forbinde til og woupsi, så er jeg forbundet. 

Tip: Ved at bruge SSH-nøgler slipper du også for passwords. Det har vi lavet en guide til her.

Hvad kan jeg i min menu? Og hvad kan du evt. bruge din menu til:

  • Forbinde til alle dine servere med éet tryk
  • Finde din offentlige IP-adresse
  • Forbinde til din VPN på kontoret eller der hjemme
  • Tænde og slukke OnAir-skiltet samt lys, kameraer mv. på dit kontor eller i hjemmet
  • Hente dit NemID og andre ID-kort frem Humørikon / Emoteicon / Smiley
  • Vise log-filer fra dine servere
    ssh servername tail -f /var/log/messages
  • Styre jeres info-skærme på kontoret eller der hjemme
  • Server-backups med rsync
  • og meget, meget mere Humørikon / Emoteicon / Smiley

Som du kan se, bruger jeg personligt min menu til rigtig mange ting, i stedet for at skrive de mange kommandoer gang på gang, er det noget nemmere blot at vælge fra en menu, og så klarer en funktion resten for mig.

I dette blogindlæg skal vi kigge på hvordan du kommer i gang med at bygge din egen personlige menu i terminalen. Jeg vil ikke gennemgå alle funktionerne i dette blogindlæg, men jeg gennemgår de to første punkter fra listen herover. Og så er der jo også noget til senere. Humørikon / Emoteicon / Smiley

Eksempel på menu:

Humørikon / Emoteicon / Smiley

Download v5.menu-pakken

Jeg har lavet en pakke som du kan downloade her. Denne pakke indeholder alt hvad du skal bruge for at komme igang. Pakken indeholder to filer: dialog og s.sh. Pakken er hosted på github.com/gitv5/servermenu5

Download .zip fil med menupakken

Hvad indeholder pakken?

 - Dialog er et lille utility som vi bruger til at skabe menuen. Vi har compiled pakken til OS X for dig, men hvis du vil, kan du selv hente og compile kildekoden til dialog her.

 - s.sh er vores lille bash-script vi bruger til at opbygge vores menu.

Sådan kommer du igang

Når du har downloadet pakken, skal du åbne filen s.sh i din yndlings editor. Vi bruger Atom.io her på v5.dk. Første gang du åbner filen, ser den sådan her ud:
 
Humørikon / Emoteicon / Smiley

For kort at forklare filen, så er den opdelt i tre sektioner:

Øverste, de blå funktioner: Disse funktioner kaldes når man vælger et bestemt punkt i menuen. Eksempelvis hvis man vælger at forbinde til serveren "hanne.v5.dk", så kaldes funktionen conn_server1()

Midten: De grønne tekster: De grønne tekster udgør selve menuen. Du kan lave så mange punkter her, som du ønsker.

Nederst: De grå teksten: Disse punkter udgør vores valgmuligheder fra menuen. Det er kort fortalt det kode der konverterer vores valg i menuen (det grønne), til en bestemt funktion (det blå) - så når vi vælger hanne.v5.dk sendes vi videre til den rigtige conn_server1()-funktion.

Lad os bygge en v5.dk Cloud-server ind i menuen

Jeg fjerner alle funktionerne pånær get_IP() og laver min egen nye funktion der hedder v5cloudserver() hvor jeg forbinder med SSH til min v5.dk Cloud-server med en specifik SSH-key (du kan naturligvis ændre ssh-kommandoen efter dit behov). Vores funktioner øverst ser nu således ud:

#!/bin/bash

## Vores v5.dk Cloud-server:
v5cloudserver() {
	ssh [email protected] -i ~/.ssh/testkey
}
## Funktion til at hente public IP med:
get_IP() {
	curl ipecho.net/plain ; echo ; read
}

Det næste jeg nu vil gøre, er at tilpasse vores menu, så man kan vælge imellem vores v5.dk Cloud-server og vores "Find IP-adresse"-funktion:

## Vores Menu
dialog --clear --backtitle "Daniels Servermenu baseret på et awesome v5.dk script" --title "Serverlist" \
 --menu "Vælg en server:" 24 60 12 \
 "srv4.cloudnet.dk"	"Min awesome v5.dk Cloud-server" \
 "findip"	"Find din IP-adresse" \
 "Afslut"      "Afslut programmet" 2> ~/.menuchoices

Tip: Tallene "24 60 12" definerer størrelsen på vores boks. Prøv f.eks. at rette til 14 60 32. 

Til sidst skal vi tilrette vores 0) case $choice in  så vi får matched det valgte menupunkt med den rigtige funktion:

0) case $choice in

    ## Starter en funktion udfra et valg i menuen
    srv4.cloudnet.dk)  v5cloudserver ;;
    findip)  get_IP ;;
    Afslut)  clear; exit 0;;

   esac ;;

*)clear ; exit ;;

Wupti! Nu har vi en tilpasset menu med vores egen/egne servere, og vi er klar til at teste.

Test din menuen

Åbn en Terminal på din Mac OS X og gå ind i mappen hvor dine to filer er placeret. Lad os starte med at sikre at vi har rettigheder til at eksekvere vores script. Det kan vi gøre med funktionen chmod +x:

$ chmod +x s.sh

Humørikon / Emoteicon / Smiley

Nu har vi rettigheder til at eksekvere vores menu-script, så nu er det blot at skrive:

./s.sh

Og så skulle vores menu meget gerne starte op:Humørikon / Emoteicon / Smiley

Nu kan vi nemt bruge pil-tasterne på tastaturet eller hotkeys (tryk på f for at komme til "findip" eller a for at komme til Afslut).

Installation af menu

Jeg vil personligt gerne have, at jeg blot kan trykke s (efterfulgt af enter) i min terminal, og så åbner den selv vores menu op. Så lad os installere vores s.sh script ind i vores /usr/local/bin:

$ cp s.sh /usr/local/bin/s
$ cp dialog /usr/local/bin/dialog
$ chmod +x /usr/local/bin/s /usr/local/bin/dialog

Hvis du får en fejl når du kører ovenstående kommandoer, skyldes det højst sandsynligt at du ikke har /usr/local/bin-mappen oprettet på din Mac. Denne kan nemt oprettes ved at køre:

mkdir -p /usr/local/bin/

Nu kan du blot starte din menu op ved at skrive s i din terminal, efterfulgt af enter. Boom.

Hvad nu?

Nu har du en velfungerende menu, og nu kan du begynde at lege og bygge op. Alle de kommandoer du kan skrive i terminalen, vil også fungere inde i en funktion imellem de to { og }.

Udfordring til at komme videre

v5.dk handler om e-learning, og med et Premium medlemskab her på sitet, kan du se vores mange trin-for-trin e-learning videoer, men v5.dk handler også om at udforske og lære selv - for ved selv at lege og udforske, lærer man ofte meget hurtigere og bedre. Og derfor slutter vi af med at give en lille udfordring, for at komme i gang med selv at bygge nye menupunkter i din menu.

Udfordring: Nyt menupunkt der tester om der er Internet-forbindelse vha. ping

  • Lav en ny funktion der kører følgende kommando der laver et ping imod Googles DNS-server og bagefter vente på du trykker "Enter":
    ping -q -c1 -t5 8.8.8.8 ; read
  • Opsæt et nyt menupunkt der hedder "Ping Google"
  • Opsæt et nyt valg i vores case $choice

God fornøjelse med at bygge din personlige menu i Terminalen på din Mac.

Gratis bruger på v5.dk

  • Kan opgraderes til Premium!
  • Adgang til basis-funktioner
  • Adgang til forum og svar
  • Adgang til support-systemet
  • Adgang til vores blog
  • Adgang til gratis artikler
  • Adgang til markedspladsen

Det tager mindre end 10 sekunder

Bliv gratis medlem på v5.dk

Opret ny gratis bruger

Nye forum-indlæg på v5.dk

Emne Svar Løst
Avatar for grasthcstonerspentobarbital kaufen ohne rezept
Offtopic / Andet | @grasthcstoners
0
Avatar for alipopKøb juridiske dokumenter såsom kørekort, pas, visum, opholdstilladelse og andre dokumenter
Offtopic / Andet | @alipop
0
Avatar for thomasmoellerFejlkode i form af bip-lyde ved opstart af gammel stationær PC
Offtopic / Andet | @thomasmoeller
9
Avatar for mikeGoogle One
Offtopic / Andet | @mike
1
Avatar for mikeG Suite eller Office 365
Offtopic / Andet | @mike
3
Avatar for mikeOpsigelse af lejlighed skabelon
Offtopic / Andet | @mike
1
Avatar for kimsaxtorphPWA udvikling
Offtopic / Andet | @kimsaxtorph
3
Avatar for jesperpetersenlink bliver lavet om når jeg tilføjer dem via TinyMCE?
Offtopic / Andet | @jesperpetersen
2
Spørg i vores forum

Stil dit spørgsmål i vores forum og få hjælp fra andre v5.dk brugere eller del din viden og gør os alle klogere!

Nyt spørgsmål Gå til forum
v5.dk

Du kan også følge os på Twitter og Instagram

Bygget med af v5.dk
© Copyright 2006-2023 • Forretningsbetingelser • Copyright • Persondata- og Cookiepolitik
v5.dk ApS - Åbogade 15 - 8200 Aarhus N - CVR: 36902833
v5.dk logo
Hej, vi hedder v5.dk og vi laver e-learning på dansk

v5.dk er sat i verden for at gøre teknologi tilgængeligt og anvendeligt for både professionelle og almindelige brugere på alle niveauer.

93 200 555
  Skriv til os
v5.dk bruger cookies til at huske dine indstillinger, livechat samt til statistik
 

Alle vores priser er inkl. moms Sikker SSL-beskyttet forbindelse

Dankort og Visa-Dankort  Visa  Mastercard og Mastercard Junior  Maestro

  • Produkter
  • v5.dk Premium
  • Cloud-servers
  • v5.dk
  • Om v5.dk
  • Kunderne siger
  • Kontakt os
  • Presse
  • Stay updated
  • RSS & tjenester
  • Søg på v5.dk
  • Sitemap