Kleine Scripthilfe gesucht ...

kangaroo72

Forums-Beuteltier²
Themenstarter
Registriert
2 Mai 2007
Beiträge
2.033
Huhu ... ich suche den kürzesten Weg, um Installlationen vorzunehmen, und will mich nun etwas an Scripts ran wagen ...

Folgende müsste ich in das Script vdr-installation.sh packen ...

Code:
apt-get install -y make gettext g++ libcurl4-nss-dev libfreetype6-dev libfontconfig1-dev libcap-dev libjpeg-dev libncurses5-dev libncursesw5-dev
cd /usr/local/src
wget ftp://ftp.tvdr.de/vdr/vdr-2.2.0.tar.bz2
tar -xjf vdr-2.2.0.tar.bz2 -C /usr/local/src
ln -s vdr-2.2.0 vdr
cd /usr/local/src/vdr/PLUGINS/src
wget http://www.saunalahti.fi/~rahrenbe/vdr/iptv/files/vdr-iptv-2.2.1.tgz
tar -xf vdr-iptv-2.2.1.tgz
mv iptv-2.2.1 iptv
rm vdr-iptv-2.2.1.tgz
cd /usr/local/src/vdr
make && sudo make install

Wie geh ich's denn am schlauesten an?

LG,

Kangaroo
 
So sieht das Script jetzt aus ...
Code:
#!/bin/bash
reset
read -p "Erforderliche Pakete werden installiert. Bitte eine Taste drücken"
echo
apt-get install -qy make gettext g++ libcurl4-nss-dev libfreetype6-dev libfontconfig1-dev libcap-dev libjpeg-dev libncurses5-dev libncursesw5-dev
cd /usr/local/src
wget https://www.dropbox.com/s/k2u0r8wtby60knn/vdr-2.2.0_w_iptv.tar.gz
tar -xf vdr-2.2.0_w_iptv.tar.gz
rm /usr/local/src/vdr-2.2.0_w_iptv.tar.gz
cd /usr/local/src/vdr-2.2.0
make && sudo make install
Weiss noch jemand, warum er den Tastendruck ignoriert, und direkt los legt??

- - - Beitrag zusammengeführt - - -

Kann man sowas auch in ein Script (03_mysql_konfiguration.sh) packen?

Code:
mysql -u root -p
DROP FUNCTION IF EXISTS epglv;
DROP FUNCTION IF EXISTS epglvr;
CREATE FUNCTION epglv RETURNS INT SONAME 'mysqlepglv.so';
CREATE FUNCTION epglvr RETURNS INT SONAME 'mysqlepglv.so';
SELECT * FROM mysql.func;
CREATE DATABASE epg2vdr charset utf8;
CREATE USER 'epg2vdr'@'%' IDENTIFIED BY 'epg';
GRANT ALL PRIVILEGES ON epg2vdr.* TO 'epg2vdr'@'%';
exit
 
Zuletzt bearbeitet:
Das Bash-Skript ist in Ordnung, bei mir wartet es, wie es soll, auf den Tastendruck.


Die SQL-Statements kannst du wie folgt absetzen:
Code:
# Befehle in Variable einlesen.
read -r -d '' COMMAND_STRING << 'EOF'
SELECT 'Zeile 1' AS '';
SELECT 'Zeile 2' AS '';
EOF

# Oder via:
COMMAND_STRING="$(cat << 'EOF'
SELECT 'Zeile 1' AS '';
SELECT 'Zeile 2' AS '';
EOF
)"

# Passwort setzen:
PASSWORD="MeinPasswort"

# Befehle zeilenweise übergeben.
readarray -t COMMANDS_ARRAY <<< "${COMMAND_STRING}"
for COMMAND in "${COMMANDS_ARRAY[@]}"; do
    mysql -u root -p"${PASSWORD}" <<< "${COMMAND}"
done

# Befehle auf einmal übergeben.
mysql -u root -p"${PASSWORD}" <<< "${COMMAND_STRING}"

# Befehle auf einmal als Skript/Datei übergeben.
TMP_FILE="$(mktemp)"
echo "${COMMAND_STRING}" > "${TMP_FILE}"
mysql -u root -p"${PASSWORD}" < "${TMP_FILE}"
rm "${TMP_FILE}"

Am saubersten wäre es, die SQL-Befehle in eine eigene foo.sql-Datei zu packen und diese dann mit mysql -u benutzer -p < foo.sql auszuführen.
 
Zuletzt bearbeitet:
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben