Shell-Fragen

Aber das Problem ist doch, dass es beim Mac anders als bei Linux ist, Unix hin oder her! Einige Linux Befehle haben bei meinem MacBook nicht funktioniert... einige...
UNIX ist der Kern. Es gibt kein Verbot, zusätzliche Kommandos/Befehle/Shellskripte hinzuzufügen, und man bemerkt in der Shell halt nicht, ob's "original" ist oder dazuinstalliert.
Und es kann durchaus sein, daß dann zwar der Befehl gleiches bewirkt, die Argumente sich aber unterscheiden.
Und natürlich darf man immer weitere Befehle/Kommandos/Programem hinzufügen.
Die dann vielleicht woanders liegen. Also statt in /bin oder /sbin on /opt, /usr oder so.

Uns spezielle Apple-Kommandos (für Funktionen, die es eben nur auf Macs gibt) unterscheiden sich sogar (selten, aber ebne doch manchmal) von System zu System, obwhl das schwer zu verstehen ist. Aber die haben nichts mit dem UNIX-Unterbau zu tun, erlauben den Zugriff auf ansonsten per GUI erreichbare Mac-Funktionen.
 
  • Gefällt mir
Reaktionen: electricdawn
Aber das Problem ist doch, dass es beim Mac anders als bei Linux ist, Unix hin oder her! Einige Linux Befehle haben bei meinem MacBook nicht funktioniert... einige...

Aber trotzdem danke für alles!
Linux ist nun mal kein Unix. Also musst du dich im Terminal natürlich an die Unix Befehle halten, wobei macOS ein BSD Unix ist.
 
Die Standardshell (interaktiv) ist nicht automatisch die Standardshell (Scripting).

/bin/sh ist selten die bash.
 
  • Gefällt mir
Reaktionen: dg2rbf
Also musst du dich im Terminal natürlich an die Unix Befehle halten, wobei macOS ein BSD Unix ist.

BSD ist seit Ende der 80er frei von jedem Unixcode. Unix V8 war ein BSD. Und wenn dann noch GCC usw. dazukommt, wird es kompliziert. ;)
 
  • Gefällt mir
Reaktionen: wegus
Das sind jetzt aber Details, die den TE jetzt nicht wirklich zu interessieren brauchen. ;)
 
Er/Sie muss ja erstmal überhaupt lernen mit der Shell umzugehen. Dafür ist es egal, welches *NIX darunter liegt. Solange es eine bash ist.
 
  • Gefällt mir
Reaktionen: wegus
Er/Sie muss ja erstmal überhaupt lernen mit der Shell umzugehen. Dafür ist es egal, welches *NIX darunter liegt. Solange es eine bash ist.
Naja, am Anfang lernt man, indem man Befehle abtippt. Und wenn die nicht funktionieren wundert man sich halt.
Ich wechsle regelmäßig die Systeme und suche mir manchmal einen Wolf, wie der Befehl auf dem jeweiligen System jetzt genau lautet und welche Parameter funktionieren. Gerade bei selten benutzten Befehlen.
 
  • Gefällt mir
Reaktionen: warnochfrei und Pixelcoffee
Klar. Du willst aber was Spezifisches erreichen. Im Falle des TEs aber geht es um die Grundlagen. Und die sind auf jeder Basis gleich, solange es sich um die gleiche Shell handelt.
 
sagt mal, ihr laberseppel, ist hier irgendjemand anwesend, der ihm wenigstens im entferntesten helfen kann?!

1. ist schon beantwortet.
zu 2.
Code:
for i in {0..2}; do echo "${i}"; done
# oder
for ((i = 0; i < 3; i++)); do echo "${i}"; done
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Pixelcoffee
Hallo,

zu 2) Wenn Du Labels/Sektionen arbeitest, da geht wie erwähnt auch if then ... else

zu 3) Farbige Ausgabe
Vordergrund
Linux Skript farbig formatieren und übersichtlich ausrichten
https://www.pc-erfahrung.de/linux/s...inux/linux-scripting-ausgabe-formatieren.html
Hintergrund
Bunte Shells - Benutzung der Shell-Farben
https://www.selflinux.org/selflinux/html/bash_farben01.html
Du musst einfach statt der 3x die 4x-Nummern nehmen.

zu 4) Fortschrittsbalken
How to add a progress bar to a shell script?
https://stackoverflow.com/questions/238073/how-to-add-a-progress-bar-to-a-shell-script
Ich finde gerade Artikel nicht mehr. Das System weiß nicht wann Dein Vorgang fertig ist. Deswegen ist es mit dem Fortschrittsbalken schwierig. Auf jeden Fall den absoluten Wert prozentual errechnen.

Fü welchen Linux soll Dein Skript sein? Sonst nutze z.B. eine Distribution per USB-Stick zum Üben/Lernen.

Viele Grüße
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Pixelcoffee
ich verstehe ihn so, dass er es für macos/BSD möchte, aber mit den üblichen linux-beispielen im netz dann probleme hatte.
 
@Olivetti
Ich denke, hier ging es auch um Hilfe zur Selbsthilfe. Und die wurde hier gegeben. Und natuerlich klappt nicht alles, was spezifisch ist fuer Linux auch bei BSD. Deswegen sollte man erst auch mal mit den Grundlagen anfangen, bevor man anfaengt in die spezifischen Tiefen von MacOS zu steigen.

Just IMHO.

PS: Und bei dem TE habe ich irgendwie das Gefuehl, dass hier moeglichst schnell zum "Erfolg" gekommen werden muss, ohne sich wirklich in die Materie einarbeiten zu wollen. Vielleicht sehen wir da bald einen Thread "Hilfe, ich habe meine Kinder geschrumpft, aeh... meine Platte geloescht!".
 
  • Gefällt mir
Reaktionen: Pixelcoffee, warnochfrei und dg2rbf
zu 3. färberei:
genannt wurden schon ansi-farbcodes in den links von @mikne64.
den kompletten background immer stringent zu färben, ist leider sehr umständlich und vergrößert den script-aufwand doch erheblich.
beispiel:
Bash:
t=$(($(tput cols)/3)); for IT in $(jot $(tput lines)); do printf "\e[42m%${t}s\e[47m%${t}s\e[41m%${t}s\e[0m\n"; done
stichworte wären also "tput ansi-escape-codes echo/printf".

ich würde empfehlen, das script mit dialog bzw. whiptail aufzubauen (dazu wäre homebrew nötig).
damit könntest du sämtliche problemstellungen, wie input, farben und progress gauge leicht im package erledigen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Pixelcoffee und dg2rbf
  • Gefällt mir
Reaktionen: Pixelcoffee und dg2rbf
Grundsätzlich sind die Einwände bezüglich der Farben richtig. Eine Shell ist eben eigentlich reine Textinformation. Es gibt durchaus Bibliotheken die so etwas wie Grafik auch in Shells ausgeben können. So funktioniert etwa auch der Midnight-Commander ( ein Norton Clone). Für den Start ist das aber nicht die einfachste Materie. Wer trotzdem Ausgaben färben will, der wird in Beiträgen wie diesen hier fündig:

https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux

Kurz gesagt geht es um das richtige Senden von Kontroll-Zeichen. Ist die verbundene Konsole/Terminal farbfähig werden dann Vorder- oder Hintergrundfarben angepaßt.
 
  • Gefällt mir
Reaktionen: dg2rbf
Hi,
ich würde mir zuerst genügend Grundwissen aneignen und dann erst komplexere Sachen anfangen, es ist noch kein Meister vom Himmel gefallen :cool: .
Franz
 
  • Gefällt mir
Reaktionen: electricdawn, warnochfrei und wegus
Zurück
Oben Unten