Jeg har rettet i mit indlæg med den gamle ged.
https://ubuntudanmark.dk/forum/viewtopic.php?p=141865#p141865Det føles næsten som en gravskrift til en trofast gammel ven, der kom af dage på uværdig vis.
Jeg ville ønske, at vi fortsat kunne bevare paradigmet til noget godt, og sikkerhedsmæssigt tror jeg måske også, at det kan godkendes til f.eks. zx.sh .
Men når brugeren nu alligevel skal vænnes til det nye paradigme med flere muligheder, så vil det som helhed kun gøre det vanskeligere for brugeren, at der i zutil optræder to paradigmer, når et ville være tilstrækkeligt.
Derfor må jeg nok bare sørge og indse, at det ikke giver nogen fornuftig mening mere.
Farvel gode gamle ged. *snøft*
1 minuts stilhed.
Til gengæld er der sket noget glædeligt nyt hos mig i nat, som heldigvis gør det nemmere at bære sorgen.
Jeg kom ved et uheld til at pille lidt ved den nye ged, og hopsa, så sprang den ud af kuvøsen.
Desværre var den så ivrig og livsglad, at den stak fra mig og løb ud på marken, hvor den straks trillede sig i noget tekst og måske det, der er værre, så jeg ved ikke, hvor klogt det er at vise den frem nu.
Rettelse, tilføjet 28/6-2015:
Det er sikkert ikke klogt, men her er altså, hvad der er sket, så interesserede udviklere kan se det:
Den nye "ged" ( zged.sh ) ej til kørsel, kun til gennemsyn:
Kode: Vælg alt
exit
exit
#!/bin/bash
# zged.sh hører til ~/bin/zutil , men det anbefales at kopiere
# scriptet op i /bin mappen og omdøbe filen til "ged"
# Scriptet er under udvikling til zutil på UbuntuDanmark.dk:
# https://ubuntudanmark.dk/forum/viewtopic.php?p=141909#p141909
# Scriptet åbner filer i Gedit. Se -h for brug af argumenter.
# Ved indsættelse af et nyt argument i dette script:
# Skab tom plads imellem to sekvenser med Enter.
# Find en passende sekvens, og kopier hele sekvensen ind på pladsen.
# Ret argument og kommando, og gem, og afprøv det nye argument i terminalen.
# Se evt. mere om scriptet her: Link må komme i et senere udkast.
# Hovedsekvens begynd
case $1 in
# Sekvens begynd
'e')
gedit -s ~/bin/$2
;;
# Sekvens slut
# Sekvens begynd
'd'|'dokument')
gedit -s ~/bin/zutil/zdokumenter/$2
;;
# Sekvens slut
# Sekvens begynd
'k'|'kladde')
gedit -s ~/bin/zutil/zkladdemappe/$2
;;
# Sekvens slut
# Sekvens begynd
'bygnyt')
gedit -s ~/bin/$2 ~/bin/zutil/zdokumenter/skabelon.txt
echo 'Filen gøres til en kørbar fil ( Skalprogram ):'
# chmod 755 --verbose ~/bin/$2
echo 'Hvis filen blev gemt bør ovenstående vise, at chmod har ændret fil tilstanden'
echo 'til 0755 og dermed gjort det netop gemte script kørbart.'
echo 'Kørbart betyder her, at filnavnet er gjort til en terminalkommando.'
;;
# Sekvens slut
# Sekvens begynd
'zhistory'|'his2')
gedit -s ~/bin/zhistory
;;
# Sekvens slut
# Sekvens begynd
'f')
gedit -s ~/bin/f ~/bin/zutil/zkladdemappe/links.txt
;;
# Sekvens slut
# Sekvens begynd
'links')
gedit -s ~/bin/zutil/zkladdemappe/links.txt
;;
# Sekvens slut
# Sekvens begynd
'cls')
gedit -s ~/bin/cls
;;
# Sekvens slut
# Sekvens begynd
'x')
gedit -s ~/bin/x
;;
# Sekvens slut
# Sekvens begynd
'g'|'ged')
gedit -s ~/bin/ged
;;
# Sekvens slut
# Sekvens begynd
'alias')
gedit -s ~/bin/zutil/zdokumenter/alias.hlp ~/.bash_aliases ~/.bashrc ~/bin/zutil/zdokumenter/aliasbackup.txt
;;
# Sekvens slut
# Sekvens begynd
'history')
gedit -s ~/bin/zutil/zdokumenter/historyhelp.txt ~/.bashrc ~/.bash_history
;;
# Sekvens slut
# Sekvens begynd
'-h'|'help'|'-help'|'--help')
echo "Anvendelse: [$0] [Argument] [FILNAVN] - Åbner filer i Gedit."
echo ''
echo 'Argumenter:'
echo ' intet Åbner en kladde'
echo ' -h Viser denne hjælpe side'
echo ' k FILNAVN Opretter eller åbner kladde fra'
echo ' ~/bin/zutil/zkladdemappe'
echo ' d FILNAVN Opretter eller åbner dokumentet fra'
echo ' ~/bin/zutil/zdokumenter'
echo " e FILNAVN Åbner FILNAVN fra ~/bin til redigering."
echo ' bygnyt FILNAVN Til oprettelse af nyt kørbart script i bin'
echo ' links Åbner ~/bin/zutil/zkladdemappe/links.txt'
echo ' g Åbner ~/bin/ged scriptet til redigering.'
echo ' f Åbner ~/bin/f scriptet til redigering.'
echo ' zhistory Åbner ~/bin/zhistory scriptet til redigering.'
echo ' history Til konfiguration og editering af history log'
echo ' alias Til konfiguration og editering af alias listen'
echo ''
echo 'Eksempler på anvendelse:'
echo '"ged history" Starter konfiguration og redigering af history log'
echo '"ged k ubuntu" Opretter eller åbner dokumentet "ubuntu" fra'
echo ' ~/bin/zutil/zkladdemappe'
echo '"ged g" Åbner ~/bin/ged til redigering'
;;
# Sekvens slut
# Herunder kommandoen, som benyttes, når intet argument forinden er blevet genkendt.
*)
gedit -s ~/bin/zutil/zkladdemappe/kladde.txt
;;
# Herover kommandoen, som benyttes, når intet argument forinden er blevet genkendt.
esac
# Hovedsekvens slut.
Funktionen burde være blændet af, men ellers kan den nye ged lave chmod 755 uden sudo. Så det er bare "ged bygnyt FILNAVNET", og så får man et kørbart script, når det er gemt med Gedit i bin mappen.
chmod kan også se det, hvis filen ikke er gemt og derfor ikke eksisterer, og så gør den ikke noget.
Lidt anderledes er det desværre, hvis man vil bruge chmod på en fil, som ikke eksisterer, men hvor der i mappen eksisterer en undermappe af samme navn, som den fil man ville have chmod'et
Så springer chmod i stedet på mappen og gør noget, som jeg ikke helt ved hvad er, men jeg tror måske, at der forsvandt en skriverettighed et sted:
"ged bygnyt zutil" => chmod arbejder på zutil mappen
Redigeret udpluk fra terminal:
( "#" betyder echo linje fra script )
Kode: Vælg alt
#Filen gøres til en kørbar fil ( Skalprogram ):
tilstand for '/home/brugernavn/bin/zutil' ændret fra 0509 (rwxrwxr-x) til 0755 (rwxr-xr-x)
#Hvis filen blev gemt bør ovenstående vise, at chmod har ændret fil tilstanden
#til 0755 og dermed gjort det netop gemte script kørbart.
#Kørbart betyder her, at filnavnet er gjort til en terminalkommando.
brugernavn@JumboUbuntu:~$ chmod 509 --verbose ~/bin/zutil
chmod: ugyldig tilstand: '509'
Prøv 'chmod --help' for mere information.
brugernavn2@JumboUbuntu:~$ chmod 0509 --verbose ~/bin/zutil
chmod: ugyldig tilstand: '0509'
Prøv 'chmod --help' for mere information.
Jeg har dog endnu ikke direkte observeret gener af den grund.
Men som man kan se, forsøger jeg to gange uden held at ændre det tilbage.
Jeg er lidt rystet over, at det skulle blive et problem at kende forskel på mapper og filer, så jeg tænker, at der måske kan være en systematisk fejl i syntaksen, som gerne skal rettes, før den gentages i flere nye scripts.
Der kan nok være flere måder at løse det på, men jeg kender ikke linux godt nok til at vide, hvilken man bør foretrække.
Det gælder tilmed Gedit, at den forsøger at åbne undermappen, hvis jeg ønsker at åbne et nyt dokument af samme navn som undermappen.
Der er også en del andre ting, der bør pudses af og udbygges.
Men efter min mening har det været et rigtig godt script at arbejde videre på.
Om mit også er det, så zutil også er kommet et skridt videre, det må andre dømme om.
Jeg er selv godt tilfreds med opdelingen i sekvenser, som jeg benytter gennemgående.
Det gør måske afstanden til github længere, men jeg tror, at de fleste fummelfingre og kodeblinde hurtigt vil give mig ret i, at det er en stor lettelse, når man skal kopiere og tilføje et argument, at man har dem og tilhørende kommandoer i moduler.
På den måde får man en halvgrafisk brugerflade, uden at få musearm og uden at skulle sælge ud af een eneste terminalkommando.
Hvis nogen sidder derude og tænker, at zutil ikke er noget for dem, fordi de ikke kan hitte ud af kode, så mener jeg, at det er meget forkert.
For det første er den vigtigste kode allerede skrevet, for det andet skal zutil netop med klare danske instruktioner gøre det pære let og meget sikkert at rode med koden og konfiguration.
zutil har derfor faktisk brug for nogle tumper, som ikke kan koden, men som alligevel gerne vil være med til at opbygge brugerfladen, så de kan så meget som muligt uden. Nå ja, det er selvfølgelig bare min mening og mit forsvar for at have været med så vidt.
Som jeg ser det indebærer bygningen af zutils basis også en fantastisk chance for alle til at blive dygtigere til terminalkommandoer.
Det behøver ikke være stresset eller presset, eller noget man føler som en byrde, fordi man har et arbejde ved siden af.
Der kan såmænd bare startes en hyggetråd om en terminalkommando en gang om ugen eller måske bare en gang om måneden, når nogen får lyst. Og så kan denne kommando få hele turen på kryds og tværs, som det skete med "history", hvor vi nu har tilbygget en zutil kommando ved navn "zhistory" ( former "his2" ), som, indrøm det bare, er langt nemmere at arbejde med end "history", og det kan endda blive endnu bedre.
Hvad kan man f.eks. forvente af kommandoen "dir" i linux år 2015..?
Ikke så meget som af zdir.sh
Så det er bare at starte en hyggetråd om hver kommando og under forløbet suge de bedste guldkorn fra tråden ud til et script.
Og løbende samtidigt udfyldes en "zman" med referencer til trådene.
Hvor svært kan det være..?
Meget svært.
Ellers kan der måske også findes flere kommandoer med tilhørende konfigurationsfiler til styrkelse af ged.
Der findes jo flere end alias og history.
Her endnu et udkast til zhistory ( zzhistory.sh ), ej heller til kørsel, kun til gennemsyn:
Kode: Vælg alt
exit
exit
#!/bin/bash -i
# Arbejder du i terminal og skrev "ged zhistory" , men mente "ged history"
# så forlad bare filen ( Alt + F4 ) og prøv det andet.
# Dette script ( "zhistory.sh" som du selv evt. har kopieret til bin mappen
# og omdøbt til "zhistory" ) er udviklet til zutil
# og blev første gang præsenteret her:
# https://ubuntudanmark.dk/forum/viewtopic.php?p=141908#p141908
# I øjeblikket er scriptet under videreudvikling under zutil samme sted.
# Funktionen er som terminalkommandoen "history", men udbygget.
# Scriptet må kopieres og tilrettes frit efter behov og ønske.
# Hovedsekvens begynd.
case $1 in
# Sekvens begynd
'one')
grep "$2" ~/.bash_history | wc -l
;;
# Sekvens slut
# Sekvens begynd
'vis')
cat ~/.bash_history
;;
# Sekvens slut
# Sekvens begynd
'hyplist')
sort ~/.bash_history | uniq -c | sort -n
;;
# Sekvens slut
# Sekvens begynd
'make')
echo 'ged k ubuntu' >> ~/.bash_history
# Ovenstående top linje tilføjer "ged k ubuntu" til history filen.
# Ønsker du at tilføje flere kommandoer, kan du bygge flere linjer på.
# Den nederste tilføjelse her, bliver den første i historikken.
# Ændringer træder først i kraft, når ny terminal åbnes.
echo 'Forvalgte kommandoer er nu tilføjet til historikken.'
echo 'Du kan se dem, når du åbner en ny terminal og trykker pil op.'
echo 'Forvalgte kommandoer kan ændres v.h.a. kommandoen "ged zhistory"'
;;
# Sekvens slut
# Sekvens begynd
'clear')
echo 'history log tømt af kommandoen "zhistory clear"' > ~/.bash_history
date -u >> ~/.bash_history
echo 'Kommandohistorik er nu tømt, og der er indsat en dato for det'
echo 'Du kan se resultatet, når du åbner en ny terminal og trykker pil op.'
;;
# Sekvens slut
# Sekvens begynd
'clearall')
echo '' > ~/.bash_history
echo 'Kommandohistorik er nu tømt'
echo 'Du kan se resultatet, når du åbner en ny terminal og trykker pil op.'
;;
# Sekvens slut
# Sekvens begynd
'help'|'-h'|'-help'|'--help')
echo ''
echo "Anvendelse: Til visning og rensning af terminalens kommandohistorik"
echo '( se evt. også "ged history" for historikkonfiguration )'
echo ''
echo "Syntaks: $0 [Argument [ORD]]"
echo ''
echo 'Argumenter:'
echo ' intet Kører "history" kommando.'
echo ' -h Viser denne hjælpe side.'
echo ' one ORD Hvor hyppigt et bestemt ord er blevet anvendt.'
echo ' vis Vis hele kommandohistorien i terminalen.'
echo ' hyplist Hitliste over terminalkommandoers anvendelse.'
echo ' clear Sletter kommando historik og indsætter tid for sletning.'
echo ' clearall Sletter kommando historik.'
echo ' make Tilføjer forprogrammerede kommandoer til historikken.'
echo ' ( pil op i nyåbnet terminal viser sidst tilføjede )'
echo 'Eksempler:'
echo ' "zhistory one dir"'
echo ' Tæller hvor mange gange "dir" optræder i historik.'
echo ' "zhistory hyplist"'
echo ' Viser hitliste over terminalkommandoers anvendelse.'
echo ' "zhistory -h"'
echo ' Viser denne hjælpe side.'
;;
# Sekvens slut
# Herunder kommandoen, som benyttes, når intet argument forinden er blevet genkendt.
'history'|*)
history
;;
# Herover kommandoen, som benyttes, når intet argument forinden er blevet genkendt.
esac
# Hovedsekvens slut.
That script wants to make history.
Og her mit udkast til f ( zf.sh ), som kan åbne Firefox. Ej heller til kørsel, men kun til gennemsyn:
Kode: Vælg alt
exit
exit
#!/bin/bash
# Dette script er under udvikling til zutil på UbuntuDanmark.dk
# https://ubuntudanmark.dk/forum/viewtopic.php?p=141909#p141909
#
# Scriptet åbner adresser i Firefox, se -h for brug af argumenter.
# Ved indsættelse af et ekstra argument:
# Skab tom plads imellem to sekvenser med Enter.
# Find en passende sekvens, og kopier hele sekvensen ind på pladsen.
# Ret argument og kommando, og gem, og afprøv det nye argument i terminalen.
# Se evt. mere om scriptet her: Link kommer i senere udkast.
# Hovedsekvens begynd
case $1 in
# Sekvens begynd
'g')
firefox http://www.google.dk/
;;
# Sekvens slut
# Sekvens begynd
'have')
firefox 'http://www.havenyt.dk/artikler/dyrkningsmetoder/skade_og_nyttedyr/' 'http://www.havenyt.dk/artikler/dyrkningsmetoder/formering/510.html'
;;
# Sekvens slut
# Sekvens begynd
'krak')
firefox http://www.krak.dk/
;;
# Sekvens slut
# Sekvens begynd
'u')
firefox http://ubuntudanmark.dk/forum/search.php?search_id=active_topics
;;
# Sekvens slut
# Sekvens begynd
'uu')
firefox 'https://ubuntudanmark.dk/' 'https://ubuntudanmark.dk/blog/artikler/category/guides/' 'https://ubuntudanmark.dk/support/' 'https://ubuntudanmark.dk/faellesskab/'
;;
# Sekvens slut
# Sekvens begynd
'dr')
firefox 'http://www.dr.dk/radio/' 'https://www.dr.dk/tv/programmer' 'http://www.dr.dk/nyheder'
;;
# Sekvens slut
# Sekvens begynd
'tv')
firefox https://www.dr.dk/tv/live/dr1
;;
# Sekvens slut
# Sekvens begynd
'ttv')
firefox 'http://www.dr.dk/nav/tekstttv/'
;;
# Sekvens slut
# Sekvens begynd
'v')
firefox 'http://www.dmi.dk/vejr/'
;;
# Sekvens slut
'vejr')
firefox http://www.dmi.dk/dmi/index/danmark/landsudsigten.htm http://www.dmi.dk/dmi/index/danmark/regionaludsigten/nordjylland.htm http://www.dmi.dk/vejr/til-lands/regionaludsigten/ssjylland/ http://www.dmi.dk/vejr/til-lands/regionaludsigten/kbhnsjaelland/ http://www.dmi.dk/vejr/til-lands/regionaludsigten/bornholm/
;;
# Sekvens slut
# Sekvens begynd
'y')
firefox http://www.youtube.com/
;;
# Sekvens slut
# Sekvens begynd
'help'|'-h'|'-help'|'--help')
echo "Anvendelse: - Åbner sider med Firefox."
echo "Syntaks: [$0] [Argument]"
echo ''
echo 'Argumenter:'
echo ' ukendt Googler argumentet'
echo ' -h Viser denne hjælpe side'
echo ' u Åbner Ubuntu forum'
echo ''
echo 'Flere argumenter:'
echo ''
echo ' g uu krak have'
echo ''
echo ' ttv'
echo ''
echo ' v vejr'
echo ''
echo 'Eksempler:'
echo ' "f u" Åbner Ubuntu forum'
echo ' "f uu" Åbner flere Ubuntu sider'
echo ' "f v" Åbner Vejrudsigt'
echo ' "f g" Åbner Google'
echo ' "f y" Åbner youtube'
echo 'I zutil redigeres argumenter og hjælp med kommandoen "ged f"'
;;
# Sekvens slut
# Herunder kommandoen, som benyttes, når intet argument forinden er blevet genkendt.
*)
firefox https://www.google.dk/?gws_rd=ssl#q=$1+$2+$3+$4+$5+$6+$7+$8+$9
;;
# Herover kommandoen, som benyttes, når intet argument forinden er blevet genkendt.
esac
# Hovedsekvens slut.
Jeg aner ikke, hvor langtidsholdbar kommandoen er for argumenter, som ikke er genkendt.
Men jeg kunne ikke stå for fristelsen til at tage den med, så op til ni ord efter "f" vil blive sendt direkte til google som søgeord.
Der er nu endvidere oprettet en mappe til brugerens egne kladder:
~/bin/zutil/zkladdemappeOg som det vist allerede fremgår er "his2" omdøbt til zhistory og zzhistory.sh
Til slut en omtale af den til mit indlæg vedhæftede fil ( zutil-udkast1.zip ).
Den er kun beregnet til ubuntu udviklere, der ved, hvad de har med at gøre.
Har man ikke zutil i forvejen kan man nok godt pakke den ud i bin-mappen, men det ville jeg aldrig selv gøre.
Jeg opretter normalt en midlertidig mappe til zip-filen og vælger "udpak her" i stifinderens menu.
På den måde kan man lidt bedre se, hvad man har med at gøre, før man evt. kopierer zutil mappen over i bin.
Under alle omstændigheder bør man forinden igen tage backup af sine data.
Efter min erfaring er det som regel kopiering og overskrivning, der koster mest dataødelæggelse og spildtid, når man scripter.
Hvert enkelt script skal kopieres til bin mappen og gøres kørbart og redigeres, før det fungerer.
Ud over de ovenstående tre fremviste scripts er der også en opdateret "zx.sh" i pakken.
I pakken medfølger endvidere nogle dokumenter, som er vigtige for at visse hjælpefunktioner kan fungere.
I pakken kan læses denne readme fil:
Denne pakke ( zutil-udkast1.zip ) er udviklet for zutil på ubuntudanmark.dk :
https://ubuntudanmark.dk/forum/viewtopic.php?f=33&t=20086De scripts, der findes i pakken, er en release kun til testkørsel med henblik på at få koden verificeret.
Denne afprøvning er udelukkende beregnet til udviklere og naturligvis helt på eget ansvar.
Alligevel er de fleste scripts låst med exit af sikkerhedsmæssige grunde.
Pakken er ikke beregnet som en reklame for zutil.
Men især "ged", som den indeholder, må betragtes som et fundamentalt stykke værktøj for zutils videre udvikling. Man skal bruge den hele tiden, når man opbygger alt det andet, og gennem dette arbejde vil videre optimering af brugerfladen falde naturligt ind.
Men er man administrator, og en bruger ringer klokken tre om natten og spørger om, hvordan han konfigurerer alias, så er det måske mere overskudsagtigt bare at kunne sige "ged alias" og lægge røret på, end at rode sig ud i en hel masse andet, som man senere fortryder.
Kan man se pointen i den form for hjælpeværktøjer til Linux, så kan man også se pointen med zutil.
Andre kommandoer, som måske fortjener særlig opmærksomhed:
"ged history" ( ikke færdig, der mangler mere god info. )
"f uu" ( flere og måske bedre links skal på, men potentialet burde være til at få øje på )
"zhistory -h" ( indikerer forhåbentlig, hvordan scripts kan gøre almindelige terminal kommandoer langt mere interessante for almindelige danske brugere )
På vegne af zutil er denne bold nu givet op til spil.
Venlig hilsen
Jakob77
https://ubuntudanmark.dk/forum/viewtopic.php?p=142107#p142107