Linux bash install skript. #5966
Replies: 2 comments 1 reply
-
@hofmannse what do you miss in install.ps1? |
Beta Was this translation helpful? Give feedback.
-
Hier ist ein Update des Skripts. Vielleicht hat ja jemand Freude daran, wird inspiriert oder es hilft weiter. Kritik und Tests sind absolut erwünscht. Bitte denkt daran, dass ich kein Profi bin und freue mich, wenn mir jemand Verbesserungsvorschläge macht. Here is an update of the script. Maybe someone will enjoy it, get inspired, or find it helpful. Criticism and testing are absolutely welcome. Please keep in mind that I'm not a professional, and I would appreciate any suggestions for improvements. #!/bin/bash
# Betriebssystem: Fedora 41 mit KDE und der Konsole (bash)
# Operating system: Fedora 41 with KDE and the console (bash)
# Automatisierte Installation von: Oh My Posh
# Automated installation of: Oh My Posh
# Eintrag in die .bashrc von: eval "$(oh-my-posh init bash)"
# Entry in .bashrc: eval "$(oh-my-posh init bash)"
# Aktivieren des automatischen Upgrades mit dem Befehl: oh-my-posh enable upgrade
# Enable automatic upgrade with the command: oh-my-posh enable upgrade
# Installation der Schrift Meslo mit dem Befehl: oh-my-posh font install meslo
# Installation of the font Meslo with the command: oh-my-posh font install meslo
# Funktion zur Installation von 'Oh My Posh' mit curl
# Function to install 'Oh My Posh' using curl
install_oh_my_posh() {
echo "Installiere Oh My Posh..."
echo "Installing Oh My Posh..."
if ! curl -s https://ohmyposh.dev/install.sh | bash -s; then
echo "Fehler bei der Installation von Oh My Posh."
echo "Error installing Oh My Posh."
exit 1
fi
}
# Funktion zur Aktivierung des automatischen Upgrades
# Function to enable automatic upgrade
enable_auto_upgrade() {
echo "Aktiviere automatisches Upgrade für Oh My Posh..."
echo "Enabling automatic upgrade for Oh My Posh..."
if ! oh-my-posh enable upgrade; then
echo "Fehler beim Aktivieren des automatischen Upgrades."
echo "Error enabling automatic upgrade."
exit 1
fi
}
# Funktion zur Installation der Schriftart
# Function to install the Meslo font
install_font() {
echo "Installiere die Schriftart Meslo für Oh My Posh..."
echo "Installing the Meslo font for Oh My Posh..."
if ! oh-my-posh font install meslo; then
echo "Fehler bei der Installation der Schriftart Meslo."
echo "Error installing the Meslo font."
exit 1
fi
echo "Schriftart Meslo wurde erfolgreich installiert."
echo "Meslo font has been successfully installed."
}
# 1. Gib dem Benutzer sudo-Rechte
# 1. Grant the user sudo rights
if [ "$(id -u)" -ne 0 ]; then
echo "Gebe dem Benutzer sudo-Rechte..."
echo "Granting sudo rights to the user..."
if ! sudo -v; then
echo "Fehler beim Abrufen von sudo-Rechten."
echo "Error obtaining sudo rights."
exit 1
fi
fi
# 2. Überprüfen, ob Oh My Posh installiert ist
# 2. Check if Oh My Posh is installed
if command -v oh-my-posh &>/dev/null; then
echo "Oh My Posh ist bereits installiert."
echo "Oh My Posh is already installed."
else
echo "Oh My Posh ist nicht installiert. Installation wird gestartet..."
echo "Oh My Posh is not installed. Starting installation..."
# 3. Prüfen, ob das Skript mit curl heruntergeladen werden kann
# 3. Check if the script can be downloaded using curl
if ! curl -s https://ohmyposh.dev/install.sh -o /tmp/install.sh; then
echo "Fehler beim Herunterladen des Installationsskripts."
echo "Error downloading the installation script."
exit 1
fi
# 4. Führe das heruntergeladene Skript aus
# 4. Run the downloaded script
if ! bash /tmp/install.sh; then
echo "Fehler beim Ausführen des Installationsskripts."
echo "Error executing the installation script."
exit 1
fi
# Überprüfen, ob die Installation erfolgreich war
# Check if the installation was successful
if ! command -v oh-my-posh &>/dev/null; then
echo "Die Installation von Oh My Posh ist fehlgeschlagen."
echo "Oh My Posh installation failed."
exit 1
fi
echo "Installation erfolgreich abgeschlossen!"
echo "Installation completed successfully!"
fi
# 5. Überprüfen, ob der Befehl 'eval "$(oh-my-posh init bash)"' in der .bashrc existiert
# 5. Check if the command 'eval "$(oh-my-posh init bash)"' exists in .bashrc
if ! grep -q "eval \$(oh-my-posh init bash)" ~/.bashrc; then
echo "Füge 'eval \$(oh-my-posh init bash)' zur .bashrc hinzu..."
echo "Adding 'eval \$(oh-my-posh init bash)' to .bashrc..."
echo "eval \"\$(oh-my-posh init bash)\"" >> ~/.bashrc
echo "Befehl erfolgreich zur .bashrc hinzugefügt."
echo "Command successfully added to .bashrc."
else
echo "'eval \$(oh-my-posh init bash)' ist bereits in der .bashrc vorhanden."
echo "'eval \$(oh-my-posh init bash)' is already in .bashrc."
fi
# 6. Bash neu laden, ohne das Installationsskript zu unterbrechen
# 6. Reload Bash without interrupting the installation script
echo "Lade die Bash neu..."
echo "Reloading Bash..."
bash
# 7. Nach dem Neuladen der Bash: Zuerst das automatische Upgrade aktivieren und danach die Schriftart installieren
# 7. After reloading Bash: First enable the automatic upgrade and then install the font
echo "Starte neue Bash-Session und führe die nächsten Schritte aus..."
echo "Starting new Bash session and executing next steps..."
bash -c "$(declare -f enable_auto_upgrade)"
bash -c "$(declare -f install_font)"
# 8. Überprüfen, ob "Oh My Posh" erfolgreich installiert wurde und in der .bashrc eingetragen wurde
# 8. Check if "Oh My Posh" was successfully installed and added to .bashrc
if command -v oh-my-posh &>/dev/null && grep -q "eval \$(oh-my-posh init bash)" ~/.bashrc; then
echo "Oh My Posh wurde erfolgreich installiert und die .bashrc wurde aktualisiert."
echo "Oh My Posh was successfully installed and .bashrc was updated."
else
echo "Es gab ein Problem bei der Installation oder der Aktualisierung der .bashrc."
echo "There was a problem with the installation or updating .bashrc."
exit 1
fi
# Abschlussmeldung
# Completion message
echo "Das Skript wurde erfolgreich ausgeführt."
echo "The script was executed successfully."
|
Beta Was this translation helpful? Give feedback.
-
Here is a script for installing Oh My Posh on Linux for the bash shell. Perhaps someone would like to take a look at it or even test it. I would appreciate any feedback or suggestions. Please be gentle, as this is my first script of this kind. :)
Beta Was this translation helpful? Give feedback.
All reactions