Archief - shell scripting probleem

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

RpR

Legacy Member
Ik heb volgend scriptje geschreven voor mijn .bashrc
Gewoon dat ik weet dat mijn mysql server draait of niet

PHP:
function on
{
  normale="\033[37;40;0m"
  kleur="\033[32;40;1m"
  echo -e "[  $kleur ON $normale  ]\n"
}
function off
{
  normale="\033[37;40;0m"
  kleur="\033[31;40;1m"
  echo -e "[  $kleur OFF $normale ]\n"
}

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

mysql=`mysqladmin -u root -p******* ping`
echo -e -n "Mysql\t\t\t"
if $mysql="mysqld is alive"
then
  on
else
  off
fi

Nu zou ik normaal dus gewoon:
Mysql [ On ]
of ipv on off moeten krijgen nu krijg ik deze fout:

PHP:
[RpR@localhost ~]$ bash .bashrc
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!
Mysql                   .bashrc: line 27: mysqld is alive=: command not found
[   OFF  ]

Iemand een oplossing?
Alvast bedankt.

Evil_Homer

Legacy Member
maak de variabele van mysql eens MYSQL
nu is hem prolly verward me den binary

RpR

Legacy Member
Evil_Homer zei:
maak de variabele van mysql eens MYSQL
nu is hem prolly verward me den binary

aangepast:
PHP:
oktekst=`mysqladmin -u root -psurface ping`
echo -e -n "Mysql\t\t\t"
if $oktekst="mysqld is alive"
then
  on
else
  off
fi

De fouten:
PHP:
[RpR@localhost ~]$ bash .bashrc
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists!
.bashrc: line 26: /bin/bash:: Onbekend bestand of map
.bashrc: line 27: =mysqld is alive: command not found
[   OFF  ]

Evil_Homer

Legacy Member
vb van correcte if-statement
Code:
#!/bin/sh
VAR1="testerdetest"
if [ "$VAR1" == "testerdetest" ];
        then
                echo "Tis nen test"
        else
                echo "Tis genen test"
fi
En vars horen in hoofdletters, same voor functienamen!

G|N|

Legacy Member
Code:
$mysql="mysqld is alive"

daar moeten dus 2 =-tekens komen dus:
Code:
$mysql=="mysqld is alive"

zoals jij het deed dan ga je ervoor zorgen dat de variabele mysql de waarde "mysqld is alive" krijgt, je moet dus kijken of de variabele mysql gelijk is aan "mysqld is alive" en dat doe je met ==

RpR

Legacy Member
G|N| zei:
Code:
$mysql="mysqld is alive"

daar moeten dus 2 =-tekens komen dus:
Code:
$mysql=="mysqld is alive"

zoals jij het deed dan ga je ervoor zorgen dat de variabele mysql de waarde "mysqld is alive" krijgt, je moet dus kijken of de variabele mysql gelijk is aan "mysqld is alive" en dat doe je met ==
Arg idd

zo domme fout :doh: :doh: :doh:

Nu wel nog een fout maar effe opzoeken voor ik een vraag stel :)

RpR

Legacy Member
K probleem moet hem hier dus op zitten:
mysql=`mysqladmin -u root -p******* ping`
hij slaat den uitvoer van dat commando niet op in die var.
Iemand een idee hoe dit dan moet?

Evil_Homer

Legacy Member
hoofdletters verdikke :p uwen bash kan executables met vars door elkaar slaan op deze manier.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan