geplaatst door: Silvester
Om een programma in de terminal op te starten kan ik naar de locatie gaan waar het staat. Het is handiger als dat met een enkele commando vanuit de home directory kan. Daarvoor heb ik de volgende link aangemaakt:
$ sudo ln -s /Applications/Eekboek.app/Contents/MacOS/ebshell ${1+"$@"} /Users/mijnthuismap/script/ebshell

Het programma start vanuit de home directory niet op na:
$ open ebshell
maar wel na:
$open script/ebshell

Wat moet ik doen om in terminal te kunnen volstaan met:
$ ebshell

ebshell is een uitvoerbare opdracht, zie
$ ls -l ebshell
lrwxr-xr-x  1 root  staff  48  1 feb 11:20 ebshell -> /Applications/Eekboek.app/Contents/MacOS/ebshell
 Suggestie(s) zijn welkom, want ik ben (nog) niet zo thuis in unix/mac opdrachten.
Bewerkt: 11 februari 2021 - 12:31 door Silvester
antw: Gebruik van link voor opstarten programma
1 februari 2021 - 16:48    reactie #1
geplaatst door: puk1980
Ik zou dit niet met symlinks doen, maar gewoon met een klein shell scriptje waarin je het "open" commando zet dat je uit wilt voeren. Dat shell script maak je executable met chmod.

Info over open.
antw: Gebruik van link voor opstarten programma
1 februari 2021 - 18:23    reactie #2
geplaatst door: Silvester
Inmiddels heb ik er een klein scriptje van gemaakt met Script Editor (het allereerste scriptje) en dat bewaard als app. Dat staat nu mijn Dock. Zo werkt het voor me, dank.
antw: Gebruik van link voor opstarten programma
1 februari 2021 - 20:27    reactie #3
geplaatst door: jaco123
Om een programma in de terminal op te starten kan ik naar de locatie gaan waar het staat. Het is handiger als dat met een enkele commando vanuit de home directory kan. Daarvoor heb ik de volgende link aangemaakt:
$ sudo ln -s /Applications/Eekboek.app/Contents/MacOS/ebshell ${1+"$@"} /Users/mijnthuismap/script/ebshell
Beste Silvester, leuk dat je op verkenning gaat in de terminal!

Maar als beginner zou ik zeker wegblijven bij het "sudo"-commando. Zorg dat je eerst de Terminal beheerst met je eigen rechten, dan kun je worst-case alleen je eigen account om zeep helpen, maar niet je hele systeem. Middels sudo voer je commando's uit met de maximale beheer-rechten ("root"), dat moet je echt alleen doen als je snapt wat je doet.

Dat doe je (nog) niet, want voor het aanmaken van een link in je eigen directory heb je alleen je eigen user-rechten nodig en geen beheerders-rechten.


Citaat

Het programma start vanuit de home directory niet op na:
$ open ebshell
maar wel na:
$open script/ebshell

Wat moet ik doen om in terminal te kunnen volstaan met:
$ ebshell

Je hebt het nu met een scriptje opgelost, maar misschien nog wel eenvoudiger is om het om voor veelgebruikte commando's een "alias" aan te maken. Ik weet niet welke shell je gebruikt (default shell is onlangs veranderd in macOS), maar zowel csh, bash als zsh ondersteunen aliases.
Zie bijvoorbeeld: http://allinfo.space/2019/09/21/het-maken-van-aliassen-en-shell-functies-van-linux/ 
(gaat over bash, maar voor andere shells is het vergelijkbaar)

Succes!

En vraag gerust verder hoor, er zit hier genoeg kennis van mensen die hun weg goed kennen in de Terminal. Voor mij was Mac OS X 10.0 ruim 20 jaar geleden dé reden om naar de Mac over te stappen: Perfecte hybride van fijne GUI en een UNIX-terminal interface. Zo gebruikt iedereen zijn computer weer anders  :smile:
antw: Gebruik van link voor opstarten programma
2 februari 2021 - 12:59    reactie #4
geplaatst door: Silvester
Hallo Jaco,
Dank voor je waarschuwing. Ik ben me ervan bewust dat ik me met "sudo" als root gedraag. Bij de poging om het script aan te maken gaf de Mac aan dat ik geen rechten had, vandaar dat ik die stap maakte. Het aanmaken van een alias ging nu soepeltjes en het aanmaken van een link gaf ook geen problemen:
$ ln -s /Users/mijnthuismap/script/ebshell /Users/mijnthuismap/script/ebshellLink

Het verschil zit hem in de plek waar ik de link plaats. De beheerder van het programma waar ebshell onderdeel van is suggereerde om het in /usr/local/bin te plaatsen. Daar mocht ik kennelijk niet zomaar aankomen en dat komt denk ik door de wijze waarop ik de Mac ingericht heb. Er is een account voor de root en ik heb een account voor mijzelf, waarbij ik mij zelf geen administrator-rechten heb gegeven. Ik kan wel incidenteel het userid en ww van de beheerder gebruiken, zodat sudo altijd een bewuste actie is.

Hoewel ik de eerste linux-versie in 2003 naast XP op pc uit 2001 installeerde, ben ik geen expert op de terminal, maar doe er af en toe wat mee (vermoedelijk kan dat trouwens net zo goed of beter met de Scripteditor en/of Automator). Toen de oude PC in 2012 niet meer vooruit te branden was, ben ik overgegaan op Mac. Voorheen liep ik met mijn laptop bij problemen naar de IT-afdeling. Ik voorzag in 2012 dat ik op termijn geen IT-afdeling ter ondersteuning meer zou hebben en dat ik het allemaal zelf moet gaan doen. MS-Windows vind ik te ingewikkeld en minder veilig, vandaar de keuze voor Mac.
Overigens, op mijn Mac zit bash-3.2
Groet Anne 
 
antw: Gebruik van link voor opstarten programma
2 februari 2021 - 15:29    reactie #5
geplaatst door: TLM
Vermoed dat je zelfs helemaal geen script nodig hebt, maar gewoon een profiel kan aanmaken in Terminal en zo het programma snel kan starten/openen. Zie schermafbeelding hieronder.

Dan is het altijd beschikbaar onder het menu Shell -> Nieuw venster -> naamvanhetprofiel

antw: Gebruik van link voor opstarten programma
2 februari 2021 - 17:57    reactie #6
geplaatst door: Silvester
Deze werkwijze ken(de) ik nog niet.
Als ik het goed begrijp start je dan direct het programma op als je de terminal opent met dat Nieuwe profiel. Ik neem aan dat het programma dan op start in mijn home directory.
Het probleem is dat het programma persé opgestart moet worden op de plek waar de boekhoudadministratie zich bevindt (werkdirectors) en dat is niet dezelfde als waar het programma staat. De werkdirectory moet ik dus eerst specificeren en wellicht kan dat ook in dat Nieuwe Profiel geregeld worden. Het werkt nu netjes.
Het bevestigt maar weer: het kan altijd anders
A
antw: Gebruik van link voor opstarten programma
2 februari 2021 - 21:40    reactie #7
geplaatst door: jaco123
Hallo Jaco,
Dank voor je waarschuwing. Ik ben me ervan bewust dat ik me met "sudo" als root gedraag. Bij de poging om het script aan te maken gaf de Mac aan dat ik geen rechten had, vandaar dat ik die stap maakte. Het aanmaken van een alias ging nu soepeltjes en het aanmaken van een link gaf ook geen problemen:
$ ln -s /Users/mijnthuismap/script/ebshell /Users/mijnthuismap/script/ebshellLink

Het verschil zit hem in de plek waar ik de link plaats. De beheerder van het programma waar ebshell onderdeel van is suggereerde om het in /usr/local/bin te plaatsen. Daar mocht ik kennelijk niet zomaar aankomen en dat komt denk ik door de wijze waarop ik de Mac ingericht heb. Er is een account voor de root en ik heb een account voor mijzelf, waarbij ik mij zelf geen administrator-rechten heb gegeven. Ik kan wel incidenteel het userid en ww van de beheerder gebruiken, zodat sudo altijd een bewuste actie is.
Klopt, /usr/local/bin is alleen voor beheerders toegankelijk.
Wat ik zelf gedaan heb is om in mijn home-directory een eigen bin-directory gemaakt en daar zet ik mijn scripts in.
Om er dan voor te zorgen dat je die ook uit kunt voeren moet je de PATH-variabele uitbreiden met je eigen bin-directory.
Dat kun je doen door in je home-directory een .profile-bestand aan te maken (of te wijzigen als die al bestaat) en er deze regel aan toe te voegen:
export PATH=~/bin:$PATH

antw: Gebruik van link voor opstarten programma
2 februari 2021 - 22:03    reactie #8
geplaatst door: Feek
Ik  heb deze aliases in mijn .zshrc staan

# EekBook
alias eekboek='/usr/local/bin/ebshell'
alias boekhouding='cd /Users/feek/.eekboek/admdir/feek_2021'
alias initboek='eekboek --init; eekboek < rapportage.eb; eekboek -c balans; eekboek -c result'


ik begin altijd met "boekhouding" daarmee ga ik altijd naar het actieve jaar met de huidige boekhouding. Vervolgens kan ik met 'eekboek' een willekeurig ebshell commando uitvoeren. En met 'initboek' run ik in een keer een aantal boekhouding commando's na wijzigingen mijn boekhouding (= text-file)
antw: Gebruik van link voor opstarten programma
3 februari 2021 - 11:05    reactie #9
geplaatst door: Silvester
@jaco123: dank voor de suggestie voor een eigen ~/bin. Nu staat het (nog) in ~/myscript. Dat kan ik handhaven voor scripts (*.sh, *.scpt). Een .profile is er al.

@feek: Tot en met 2020 heb ik Eekboek 2.02 gebruikt met de volgende werkwijze:
a) met textverwerker bestand mutaties uitbreiden met de boekingen van de afgelopen maand
b) terminal openen en de volgende twee opdrachten invoeren (al dan niet met een scriptje):
cd ../../Applications/EekBoek.app/Contents/MacOS
./ebshell --init
In deze versie werd dan een nieuwe lege database aangemaakt (de oude hoefde niet te worden verwijderd) en werden direct de mutaties verwerkt.

Deze werkwijze blijkt niet meer te werken in Eekboek2.04. Nu moet je in de folder met de administratie gaan staan en daarin de ebshell --init aanroepen. Bovendien blijkt dat de aanroep ebshell --init alleen een lege database aanmaakt. Om de mutaties te verwerken moet ik ebshell nog een tweede keer aanroepen. Vervolgens kan ik in de ebshell regel voor regel rapportage opvragen. Uit de laatste regel maak ik op dat je alle door jou gewenste rapportage in een keer uitvoert. Ik doorgrond nog niet hoe  dat met de laatste regel gaat. Gebruik je 2.04?
antw: Gebruik van link voor opstarten programma
3 februari 2021 - 12:27    reactie #10
geplaatst door: Feek
Ja ik gebruik Eekboek 2.04, maar ik het Eekboek geïnstalleerd via CPAN. Daardoor staat mijn versie in /usr/local/bin/ebshell

Jouw handelswijze is volgens mij dezelfde die ik hanteer.

Werkt het volgende niet voor je, met de volgende alias:

alias eekboek='/Applications/Eekboek.app/Contents/MacOS/ebshell'
alias boekhouding='cd /Users/JouwUserName/.eekboek/admdir/JouwAdministratieVan2021'
alias initboek='eekboek --init; eekboek -c balans; eekboek -c result'

Ja met 'eekboek < rapportage.eb' roep ik in één keer wat eigen rapportages aan, hoef jij niet te gebruiken.

Dus handelswijze:
- in terminal type: boekhouding => gaat automatisch naar de juiste folder met de administratie
- in terminal type: initboek => boekhouding wordt ingelezen en gegenereerd met ook direct de balans en resultaten rekeningen



antw: Gebruik van link voor opstarten programma
3 februari 2021 - 17:25    reactie #11
geplaatst door: Silvester
@feek:
De functionaliteit van de laatste regel heb ik toegevoegd aan het shell-script, waar de eerste twee regels ook zijn opgenomen. Dat werkt.
In feite wil ik de proefensaldibalans elke maand als ckv bestand uitvoeren, ter controle of de boekingen op de juiste plek staan (debet/credit). Als techneut/wetenschapper is boekhouden niet mijn basisvaardigheid.
Mijn Eekboek2.04 is aangeleverd in een *.dmg. Eerder heb ik voor versie 2.03 de CPAN route geprobeerd, maar daar liep ik vast. Achteraf waarschijnlijk omdat ik het niet als root heb uitgevoerd, maar als gebruiker. Ik zal in de komende dagen de CPAN route nog eens proberen, maar dan als root.
Zoals het nu is kan ik met een enkele opdracht de boekhouding uitvoeren en daar ging het om.
Dank voor alle reacties.
antw: Gebruik van link voor opstarten programma
3 februari 2021 - 17:42    reactie #12
geplaatst door: puk1980
Leuk. Weer wat geleerd over een Nederlandstalig Open Source project!
https://www.eekboek.nl/
https://www.eekboek.nl/mediawiki/index.php/Hoofdpagina

@Feek: Is er nog een verschil in installatie als je die via CPAN doet ipv gewoon de DMG installeren?

https://www.eekboek.nl/dl/EekBoek-2.04.1.dmg
antw: Gebruik van link voor opstarten programma
3 februari 2021 - 18:14    reactie #13
geplaatst door: Feek
EekBoek is zo een fijn boekhoudprogramma! Heerlijk via je gewenste text-editor te gebruiken.

Volgens mij is er geen verschil tussen de twee installaties. Maar met de dmg ben je wel afhankelijk van dat iemand deze maakt, dus is niet altijd direct beschikbaar bij een update.

antw: Gebruik van link voor opstarten programma
5 februari 2021 - 16:37    reactie #14
geplaatst door: Silvester
@puk: Dank voor de link naar Eekboek-2.04.1. Ik dacht dat meteen maar bij te werken, maar zo simpel is dat dan weer niet. Deze 2.04.1 versie is gemaakt voor Catalina en ik gebruik nog Mojave. Nu zou je zeggen dan moet je updaten, maar de overgang naar Catalina is ingrijpender dan de overgang naar Mojave destijds.
Wellicht doe ik er verstandig aan om versie 2.04.1 via CPAN aan te maken. Voorheen mislukte dat voor versie 2.03, vermoedelijk omdat ik het niet als beheerder van mijn Mac had uitgevoerd.

antw: Gebruik van link voor opstarten programma
5 februari 2021 - 18:19    reactie #15
geplaatst door: puk1980
Ik dacht dat meteen maar bij te werken, maar zo simpel is dat dan weer niet. Deze 2.04.1 versie is gemaakt voor Catalina en ik gebruik nog Mojave.
Tot zover ik het kan zien (release notes e.d.) is er niets specifieks in 2.04 waarom het alleen onder Catalina zou werken. Het enige dat ik kan bedenken, is dat je naar een nieuwere Perl versie toe moet. Maar die kun je apart upgraden.



Citaat
Systeemeisen

EekBoek is geschreven in Perl, en daarom onafhankelijk van het onderliggende besturingssysteem. De minimaal benodigde versie van Perl is 5.8.8.


Wijzigingen in EekBoek 2.030.1

Deze fix-release bevat enkele aanpassingen ten behoeve van Perl implementaties ouder dan 5.16
antw: Gebruik van link voor opstarten programma
6 februari 2021 - 12:12    reactie #16
geplaatst door: Silvester
Leuk. Weer wat geleerd over een Nederlandstalig Open Source project!
https://www.eekboek.nl/
https://www.eekboek.nl/mediawiki/index.php/Hoofdpagina

@Feek: Is er nog een verschil in installatie als je die via CPAN doet ipv gewoon de DMG installeren?

https://www.eekboek.nl/dl/EekBoek-2.04.1.dmg

Deze link bevat een kant en klare app die ik alleen naar de "Applicaties" hoef te slepen. Als je de dmg koppelt, dan staat er over de app een witte cirkel en een schuine witte streep (zeg maar het "verboden parkeren"symbool uit het wegenverkeersreglement.

Als je de app toch naar "Applicaties" sleept verschijnt er een dialoog met de tekst:
quote
You can't use this version of the application "Eekboek.app" with this version of macOS.
You have macOS 10.14.6. The application requires macOS 10.15 or later.
unquote
Ik mag aannemen dat deze 2.04.1 versie inderdaad met perl is aangemaakt. Het lijkt erop dat dat op een machine is gebeurd met macOS Catalina.
Ik zou het dus op Mojave met CPAN zelf kunnen doen als ik de source code heb (moet inkom naar op zoek).

In mijn "Applicaties" staan nogal wat perl-bestanden.
==> Hoe zie ik welke versie ik heb?

De 3 meest recente bestanden bij een 'find" opdracht zijn:
perl.sp 7 oct 2016
perl5 16 aug 2015
perl5-5.16.3_0 16 aug 2015

verder staan er twee zip2 bestanden, waarvan ik aanneem dat die gebruikt zijn om een update te realiseren:
perl5-5.16.3_0+perl5_16.darwin_14.noarch.tbz2  van aug 2015
perl5.16-5.16.3_1.darwin_14.x86_64.tbz2 van aug 2015



antw: Gebruik van link voor opstarten programma
6 februari 2021 - 12:53    reactie #17
geplaatst door: puk1980
In mijn "Applicaties" staan nogal wat perl-bestanden.
==> Hoe zie ik welke versie ik heb?

Dat staat in deze (eerder gegeven) link:
Citaat
Mac OS X already has Perl installed. Open a Terminal application (in the Utilities folder of your Applications folder) and run perl -v to find out which version.
Die '-v' optie werkt overigens voor heel veel (command-line) tools. Een andere handige optie vaak is '-h' voor "help" om een opsomming van de opties te krijgen.


EDIT: Op mijn MacBook Air M1 met Big Sur:
Citaat
% perl -v

This is perl 5, version 28, subversion 2 (v5.28.2) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)
antw: Gebruik van link voor opstarten programma
6 februari 2021 - 13:02    reactie #18
geplaatst door: mcmt
Ik heb hier met Mojave dezelfde perl versie als met Catalina:

Citaat
This is perl 5, version 18, subversion 4 (v5.18.4) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)

AANVULLING:

De app kan ik op Mojave inderdaad niet opstarten vanuit Finder, maar de eigenlijke eb... shells wel. Of ze correct werken weet ik niet... (ik krijg wel een Spinning Beach Ball bij de interactieve shell, maar weet niet of dit afhangt van configuratie of van versie problemen).
Bewerkt: 6 februari 2021 - 14:14 door mcmt
antw: Gebruik van link voor opstarten programma
6 februari 2021 - 13:10    reactie #19
geplaatst door: puk1980
Homepage van de auteur van Eekboek.

Citaat
Er is een tijd van werken, en een tijd van rust.

Nu ik de pensioengerechtigde leeftijd heb bereikt is de tijd gekomen om te stoppen.

Ik bedank iedereen die heeft bijgedragen aan drieëntwintig jaar Squirrel Consultancy. Een periode waar ik met plezier naar terugkijk.

Johan Vromans
Squirrel Consultancy
januari 2019


Misschien dat hij het project overdraagt aan een jongere ontwikkelaar. Hij kan er natuurlijk ook zelf mee verder gaan, als hobby. :smile:


EDIT: Het zal wel meevallen. De laatste versie 2.04 is van 24 januari 2021.
antw: Gebruik van link voor opstarten programma
10 februari 2021 - 14:32    reactie #20
geplaatst door: Silvester
Wat mij betreft is mijn vraag wel opgelost. Hoe geef ik dat aan? Kan ik ergens de status veranderen in "opgelost".
antw: Gebruik van link voor opstarten programma
10 februari 2021 - 14:48    reactie #21
geplaatst door: boiing
[Opgelost] voor de titel zetten is een goed gebruik, kun je zelf doen. Al vergeet vrijwel iedereen dat, dus bij deze: :thumbs-up:.
The amount of energy needed to refute bullshit is an order of magnitude bigger than that needed to produce it (Brandolini's Law)
antw: Gebruik van link voor opstarten programma
11 februari 2021 - 12:25    reactie #22
geplaatst door: Silvester
Dat is wat ik ook wil doen, maar misschien had ik wat preciezer moeten zijn in mijn vraagstelling. Ik heb getracht de titel "Gebruik van ..... programma" te wijzigen door erop te dubbelklikken. Daar lukte het niet mee. Ook de contextgevoelige rechtermuisknop gaf mij geen clou. Elders zag ik verder geen optie om het aan te passen. Ik snap dat het moet kunnen (toch) alleen zie ik (nog) niet hoe.
antw: Gebruik van link voor opstarten programma
11 februari 2021 - 12:28    reactie #23
geplaatst door: boiing
Als ik op 'verander' klik kan ik gewoon de titel aanpassen bij mijn eigen onderwerp....

Screenshot 2021-02-11 at 12.27.17.jpg[Opgelost] Gebruik van link voor opstarten programma
The amount of energy needed to refute bullshit is an order of magnitude bigger than that needed to produce it (Brandolini's Law)
antw: [Opgelost] Gebruik van link voor opstarten programma
11 februari 2021 - 12:32    reactie #24
geplaatst door: Silvester
  :shakehands: