Üdv,
Van egy bash scriptem, ami könyvtárakat hoz létre és ir be egy mysql táblába a bekért paraméterek alapján.
A gondom ott kezdődik, hogy a script futását megakasztja a mysql jelszóbekérése.
Ezt hogy tudom a scripten belül emgoldani?
A mysql -u userem -pPASSWORD nem jó, kézzel kell beirnom a jelszót.
Előre is köszönöm.
- 4877 megtekintés
Hozzászólások
milyen script? Van jo par scriptem ami igy mukodik gond nelkul.
Fedora 20, Thinkpad x220
- A hozzászóláshoz be kell jelentkezni
Konkrétan létrehoz egy mappát, annak elérési útját pedig egy mysql táblába beirja.
mysql -u user -p << EOF
INSERT INTO dir(path) VALUES('$path')
exit;
EOF
-------------------------
Dropbox refer: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
(echo $pw; echo $pw) | mysql -u user -p [...]
- A hozzászóláshoz be kell jelentkezni
MYCLIENT="/usr/bin/mysql --defaults-file=/pathto/my.cnf"
Ezután:
$MYCLIENT -e "SELECT 1"
vagy
$MYCLIENT "adabázisnév" < init.sql
- A hozzászóláshoz be kell jelentkezni
A home könyvtáradban hozz létre egy .my.cnf fájlt 0600 joggal, és abba tedd ezt:
[client]
user=...
password=...
- A hozzászóláshoz be kell jelentkezni
Csatlakozom az elottem szolohoz. Annyival egeszitenem ki, hogy a scriptet futtato user konyvtaraban hozd letre ha nem te futtatod.
- A hozzászóláshoz be kell jelentkezni
MYCLIENT="/usr/bin/mysql --defaults-file=/pathto/my.cnf"
Ezután:
$MYCLIENT -e "SELECT 1"
vagy
$MYCLIENT "adabázisnév" < init.sql
- A hozzászóláshoz be kell jelentkezni
+1
~~~~~~~~
deb http://deb.metaltux.tk/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Mármint kézzel akarod beírni?
Mert nekem ez működik:
mysql -hhost -uuser -ppass
- A hozzászóláshoz be kell jelentkezni
épp hogy nem akarom kézzel beirni
megoldódott, köszi!
-------------------------
Dropbox refer: https://db.tt/V3RtXWLl
neut @ présház
- A hozzászóláshoz be kell jelentkezni
ha me'g aktualis: en ilyeneket szoktam csinalni:
#!/bin/bash
echo -n "Enter password: "
read -s password
echo
username=myusername
database=mydatabase
if ! mysql -u $username $database -p$password < /dev/null >&/dev/null ; then
echo "$0: access denied."
exit 1
fi
mysql -u $username $database -p$password -e "...."
mysql -u $username $database -p$password -e "...."
...
szoval az elejen lecsekkolja a jelszo't, hha elgepeles tortent akkor ne omoljon ossze az egesz szkript-rendszer.
- A hozzászóláshoz be kell jelentkezni
én is így szoktam megbízható rendszereken, tehát ahol nem olvashatja ki illetéktelen a procfs-ből a mysql -p argumentumát (abban a kis időben, amíg a mysql maga felül nem írja ikszekkel). erre a fajta paranoiára ez a megoldás.
plusz érdemes -p"$password" formát használni ha netán IFS lenne a jelszóban.
~~~~~~~~
deb http://deb.metaltux.tk/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni