eikeltje Retecool Goldmember

Aantal posts: 31
Aantal reacties: 946
Voor eikelinnetje heb ik een android-tablet (linkje) gekocht die ik wil laten automounten naar onze nfs-shares met muziek, fotos etc. Tablet geroot, autostart.sh geinstalleerd en aangemaakt en goede mount-commando's bedacht. Nu ben ik op zoek naar een shell-script wat gedurende twee minuten oid test of de sdcard al gemount is en wanneer dit het geval is, van de bestaande directory muziek een mount naar de NFS-share maakt. Maar ik heb geen idee:
* Werkt een while-loop in een script
* hoe te testen of een bestand of directory bestaat

soort van:
do while (not exist /sdcard/muziek)
sleep 5
end do
mount server:/muziek /sdcard/muziek


iemand enig idee?
07-02-2011 om 16:12 | 40 reacties | 0 | Zuigt! Heerst!
 
Zelf ook zeiken
Gezeik van anderen
eikeltje Retecool Goldmember

Aantal posts: 31
Aantal reacties: 946
oh, en dan nog een tellertje erbij (24 x 5 seconden) zodat ook als ze ergens anders is het script na 2 minuten stopt...
07-02-2011 16:14:14 | # | 0 | Zuigt! Heerst!
gronk Retecool Goldmember

Aantal posts: 394
Aantal reacties: 14946
Ik word altijd heel snel moe van de syntax van shellscripts, omdat dat iedere keer weer anders is (iedere distributie heeft weer een andere shell, windows is helemaal huilen, etc). Daarom doe ik dit soort dingen gewoon in een stukkie python. os.stat() en os.system() zijn de dingen waar je naar op zoek bent.
07-02-2011 16:25:47 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
man test
(werkt iig in alle bourne-shell varianten)

wellicht heb je test -d directorynaam nodig
(er is een beetje een probleem als het kale mountpoint (de directory) ook nog bestaat indien geunmount, in dat geval kan je testen met "mount | grep directorynaam" oid.

HTH, YMMV
07-02-2011 16:31:40 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Proof of concept:

#!/bin/sh
HET_DING=/media/001B-9622

if [ -d ${HET_DING} ]; then
echo "Yes!"
else
echo "No..."
fi
# Eof
07-02-2011 16:41:13 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
Het kan iets korter met bash; dit script zou echter op elke *nix en elke shell (sh, ksh, bash) moeten werken omdat het /bin/test en /bin/expr gebruikt ipv shell builtins die op sommige systemen wel eens zouden kunnen ontbreken.


#!/bin/sh
timeout=120
interval=5
local_dir=/sdcard/muziek
remote_dir=server:/muziek

while [ ! -d "${local_dir}" ]; do
  sleep ${interval}
  timeout=`expr ${timeout} - ${interval}`
  if [ ${timeout} -le 0 ]; then
    echo "Lokale directory (${local_dir}) niet gevonden"
    exit 1
  fi
done

mount -t nfs "${remote_dir}" "${local_dir}"
07-02-2011 19:29:32 | # | 0 | Zuigt! Heerst!
teringbibber Retecool Reaguurder

Aantal posts: 27
Aantal reacties: 6103
ja, dat kan ook, maar nòg makkelijker is

repsect!
07-02-2011 19:59:46 | # | 4 | Zuigt! Heerst!
Monade - category B traitor Retecool Goldmember

Aantal posts: 45
Aantal reacties: 4304
@marjolein, wat aanvullingen:

$local_dir is een mountpoint en zal van tevoren moeten bestaan, dus je test -d is of altijd fout of altijd waar.

Je moet een file test programma als stat gebruiken of misschien zelfs de output van df of mount parsen om erachter te komen of $local_dir een mountpoint is met een gemount file system.

BTW
- backticks kun je vermijden met $(...)
- rekenen gaat in Bourne en Korn shell ook zo: $((...))

Ik begrijp trouwens niet waarom je een NFS mount onder een gemounte SD kaart wilt hangen. Kan dat niet los, of als er maar één pad mogelijk is:

/sdcard/muziek
/sdcard/echte_sdcard

Of smeriger, een symlink op de sdcard die naar /sdcard/muziek wijst?

/En daarom haat ik nou shell scripts
07-02-2011 20:00:37 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
@Monade: zoals je terecht opmerkt doe ik vrij weinig aan error-checking ... in dit geval met reden. Maar je hebt helemaal gelijk. (reden was: als je al dat soort dingen mee gaat nemen nemen kun je het net zo goed in C doen ;-).)

Ik lees uit OPs tekst dat "/sdcard/muziek" een soortement van automount is - die wel of niet kan bestaan. Want als dat niet zo is, dan bestaat het ding inderdaad altijd en moet je inderdaad gaan checken of er inderdaad iets op gemount is.

Het is inderdaad heel vies om er stiekum een NFS mount overheen te leggen. Maar wie weet is de Android app zodanig dat hij echt alleen maar in "/sdcard/muziek" kijkt - veel apps hebben dat soort vast ingecompileerde eigenschappen.
Zeker als het O/S een ingeplugde SD-card automatisch *daar* mount. Dan is "de link omleggen", tussen het insteken van je SD-card en het starten van je muziekplayert denk ik zo'n beetje je enige redding.
07-02-2011 20:14:39 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
Oh en inderdaad dood an schil-schrift! :-)
07-02-2011 20:15:02 | # | 0 | Zuigt! Heerst!
DDWW, Steampimp. Retecool Reaguurder

Aantal posts: 26
Aantal reacties: 5105
07-02-2011 22:23:23 | # | 1 | Zuigt! Heerst!
eikeltje Retecool Goldmember

Aantal posts: 31
Aantal reacties: 946
android heeft een readonly filesystem, niets met init.rc te starten ofzo. Ook bestaat /mnt niet.

Ik heb alleen een map data (770 dus alleen met root te zien) waarin ik in het bestand autostart.sh iets kan laten starten zetten.

Er moet een directory zijn met de naam van de mount klaagt android. Voordeel van een directory in sdcard is dat ik daar muziek in kan zetten voor het geval ze niet thuis is, dan werkt de mount niet maar staat er toch nog wat in...

Nu kan ik in /data wel mounts aanmaken maar die zijn niet zichtbaar in android (gelet op 770 rechten). Dan zou ik vanuit sdcard een symlink kunnen maken naar de mount op /data maar aangezien de sdcard op FAT32 is geformateerd kan dat niet...

En helaas, het script van Marjolein werkt niet alhoewel het precies was wat ik bedoelde, thanks!
het haakje '[' wordt niet herkend... nog wat mee spelen... Vooralsnog hou ik het even op
ping server -c
sleep 20
mount .....
07-02-2011 22:28:27 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
Oh, vervang de "[" dan maar met "test" en verwijder de "]".
07-02-2011 22:35:14 | # | 0 | Zuigt! Heerst!
barq Retecool Goldmember

Aantal posts: 53
Aantal reacties: 7214
Het lijkt hier de Burda wel, met al die wortelbroek-patronen.
07-02-2011 22:38:19 | # | 0 | Zuigt! Heerst!
DDWW, Steampimp. Retecool Reaguurder

Aantal posts: 26
Aantal reacties: 5105
Welke idioot gaat dan ook zijn scriptie over shell schrijven?
07-02-2011 22:55:56 | # | 0 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Het is niet geheel en al duidelijk wat de android doet, en wat je zelf moet doen.
  • doet ie automount ?
  • zoja: maakt ie zelf een directory aan om aan te mounten ?
  • zonee: moet je zelf mounten, aan een bestaande directory ?
  • heeft dat mountpoint een verplichte naam ?
  • Mijn voorbeeldje van vanmiddag gaat er vanuit dat er een automount is. Hij test feitelijk alleen of de dirtectory bestaat.
    en '[' is veelal hetzelfde als test. test is in bash een shell-built-in, en dus niet /bin/test, maar dat maakt kwa werking niks uit.
07-02-2011 23:09:48 | # | 0 | Zuigt! Heerst!
Mohammed Said al-Sahaf Retecool Goldmember

Aantal posts: 119
Aantal reacties: 14537
08-02-2011 00:08:30 | # | 1 | Zuigt! Heerst!
Wildplasser, beroepsweigeraar Retecool Goldmember

Aantal posts: 40
Aantal reacties: 11546
Kwa builtins: heeft zo'n android een MMU, trouwens?

*verwisselt wortelbroek voor pyjamabroek*
08-02-2011 00:29:39 | # | 0 | Zuigt! Heerst!
Hemaworstjeje Retecool Reaguurder

Aantal posts: 4
Aantal reacties: 525
marjolein klinkt lekker vrouwelijk zo...
08-02-2011 03:53:32 | # | -1 | Zuigt! Heerst!
eikeltje Retecool Goldmember

Aantal posts: 31
Aantal reacties: 946
@wildplasser:
Android doet geen automount en je moet zelf de directory aanmaken die vervolgens gemount wordt. "test" werkt wel maar helaas lijkt "while" niet in de shell te zijn opgenomen. Mocht ik verder komen dan laat ik het weten....

Mbt de MMU zou ik dat niet weten, levert dat nieuwe inzichten?
08-02-2011 08:49:50 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
@Hema: ik vind het gewoon fijn om met mijn beetje kennis een poging te kunnen doen om iemand te helpen. Het spijt me dat dat niet zo vrouwelijk klinkt als je wel had gehoopt.
Desalniettemin, mocht je ooit een probleempje met je 'puter hebben dan zal ik ook jou, desgevraagd, proberen te helpen (mits het iets is wat ik zou kunnen weten).
08-02-2011 09:43:26 | # | 0 | Zuigt! Heerst!
fishbowl Retecool Goldmember

Aantal posts: 293
Aantal reacties: 11946
@marjolein: Ik heb allemaal koffievlekken op mijn puter en kruimels in het toetsenbord.
08-02-2011 09:50:53 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
Dan moet je niet zo hard fappen tijdens je koffie/lunchpauze.
/probleem bij de bron aanpakken ipv symptoombestrijding ;-)
1 ster!
08-02-2011 09:53:31 | # | 7 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
(OT: Ik zie dat Slutty N. de FP van collaborerend NL weer gehaald heeft: http://www.telegraaf.nl/buitenland/8954628/__Snel_genezen_door_sexy_zusters__.html)
08-02-2011 09:56:52 | # | 0 | Zuigt! Heerst!
fishbowl Retecool Goldmember

Aantal posts: 293
Aantal reacties: 11946
10 PRINT "Gatver! ";
20 GOTO 10
08-02-2011 09:59:13 | # | 0 | Zuigt! Heerst!
barq Retecool Goldmember

Aantal posts: 53
Aantal reacties: 7214
@mayo

Hoe toepasselijk, hè? Die had ik gelinkdumpt.
08-02-2011 10:14:24 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
waar dan? waar dan? *verdwaasd om zich heen klikt*
08-02-2011 10:19:46 | # | 0 | Zuigt! Heerst!
barq Retecool Goldmember

Aantal posts: 53
Aantal reacties: 7214
Nou ja, gelinktipt dan. Heeft het nog niet gehaald.
08-02-2011 10:21:44 | # | 0 | Zuigt! Heerst!
gronk Retecool Goldmember

Aantal posts: 394
Aantal reacties: 14946
Ik heb nog geen enkele linktip gezien die 't gehaald heeft. Volgens mij worden die dingen nooit gelezen.
08-02-2011 10:40:26 | # | 0 | Zuigt! Heerst!
barq Retecool Goldmember

Aantal posts: 53
Aantal reacties: 7214
Doch. Doch.
08-02-2011 10:45:17 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
Jawel hoor gronk. Alleen moet je dan wel iets interessants linktippen ;-)
08-02-2011 10:49:23 | # | 0 | Zuigt! Heerst!
Horror vacui Retecool Goldmember

Aantal posts: 91
Aantal reacties: 5505
eikelinnetje

die ik wil laten automounten

onze nfsw-shares
met fotos etc.

geroot
goede mount-commando's bedacht
twee minuten al gemount


do while sleep with
end do

*logt uit*
*gaat porno kijken*
08-02-2011 20:46:53 | # | 3 | Zuigt! Heerst!
Draken. Retecool Goldmember

Aantal posts: 86
Aantal reacties: 6852
08-02-2011 20:55:12 | # | 1 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
OLO! Aan die zat ik ook al te denken Draken :-)
08-02-2011 20:56:40 | # | 0 | Zuigt! Heerst!
Horror vacui Retecool Goldmember

Aantal posts: 91
Aantal reacties: 5505
08-02-2011 21:04:36 | # | 1 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
Is dat een Medieval Goa-Tse, Horror? 8-/
08-02-2011 21:06:28 | # | 0 | Zuigt! Heerst!
Hemaworstjeje Retecool Reaguurder

Aantal posts: 4
Aantal reacties: 525
Liev marjolein maar ook al stort mijn brakke pc in de gierput dan nog zal ik geen vrouw inschakelen.
Vrouwen gebruik je voor de Liefde en het huishouden.
08-02-2011 21:17:28 | # | 3 | Zuigt! Heerst!
Horror vacui Retecool Goldmember

Aantal posts: 91
Aantal reacties: 5505
Dat is het scripten van een shell door onze lieve heer, Marjolein.
08-02-2011 21:25:18 | # | 0 | Zuigt! Heerst!
marjolein Retecool Goldmember

Aantal posts: 90
Aantal reacties: 10860
LOL@Hema. Is goed hoor, point taken :-). Plusje voor je.
@Horror: ah, natuurlijk *facepalm*
(ik ga me nu stilletjes afvragen waarom het beeld van 'n goatse me eerder te binnen schiet dan dat van OLH.)
08-02-2011 21:46:47 | # | 0 | Zuigt! Heerst!
Turbulence Retecool Reaguurder

Aantal posts: 51
Aantal reacties: 2154
'k wist niet dat Jezus rond 1250 ook al aan Mandelbrot fractals deed ...
08-02-2011 22:35:30 | # | 1 | Zuigt! Heerst!
Turbulence Retecool Reaguurder

Aantal posts: 51
Aantal reacties: 2154
en waarom zijn die lui uit de Middeleeuwen niet consequent met het afbeelden van personen. God-Jezus; alles lijkt op elkaar.
Hadden ze maar Ubuntu, dan was het tenminste duidelijk geweest.
08-02-2011 22:43:09 | # | 1 | Zuigt! Heerst!

Om te kunnen reageren moet je ingelogd zijn.

Gebruikersnaam:

Wachtwoord:

U zei:
Witjoekel Vilmer: Ja, waar is Dijkie eigenlijk de laatste tijd? Beetj...
Geenszins Joling: Dijkie is in deze maatgevend dusch...
fishbowl: Kan iemand me mailen als deze post van de FP af is?...
gronk: Ik dacht eerst dat 't een paspop was waar ze een ko...
dM, namens Likoed Cali: Bah, nee echt, gatverdamme. Veel te veel make-up, o...
Ster
In het forum
Geenszins Joling: En beneden is links? Want dán zit ik beneden.
gronk: Soms doet dit demissionaire kabinet dan ook weer go...
Geenszins Joling: Ook dit is weer blof (met streepje door de o)!
Jack Random: JAAA, bij Deaf op de boerderij in Zeeland kamperen,...
Geenszins Joling: En dat was @ gronk natuurlijk
Ster
Sterren
Retecool 8.0 is powered by Howlin' Wolf
Retecool.com is powered by Howlin' Wolf