Ik ben al jaren te lui geweest om het op te zoeken, maar misschien weet iemand het hier. Wat is het verschil tussen rekenen met dubbele haakjes (()) en square brackets $[] (op de de syntax na)? De wijze van evalutatie (zie laatste voorbeeld)?quote:Op maandag 19 maart 2012 18:10 schreef Ertepeller het volgende:
Rekenen in bash doe je binnen dubbele haakjes: ((x = y + z))
Binnen de haakjes hoef je ook geen $ voor de variabelen te zetten.
1 2 3 4 5 6 7 8 | $ x=2; y=3; $ echo $((x*y)) 6 $ echo $[$x*$y] 6 $ ((x++)) $ $[$x++] bash: 3++: syntax error: operand expected (error token is "+") |
bash beginners guide Maar waarom?quote:Wherever possible, Bash users should try to use the syntax with square brackets:
1 | for i in {{1..4},{7..10},{16..19}}; do for j in {0..31}; do ping -c 1 -w 1 10.175.$i.$[100+$j] > /dev/null || echo "ipmi for node $i-$j is down"; done; done |
Dus als ik het goed begrijp krijg ik als ik deze code uitvoer meer ruimte op Ubuntu?quote:Op dinsdag 20 maart 2012 21:30 schreef KomtTijd... het volgende:
http://lmgtfy.com/?q=wubi+expand+disk
https://wiki.ubuntu.com/W(...)the_virtual_disks.3F
Beter doe je gewoon een echte installatie trouwens
1 2 3 4 5 6 7 8 | sudo su swapoff -a cd /host/ubuntu/disks/ mv swap.disk swap.disk.bak dd if=/dev/zero of=swap.disk bs=1024 count=2097152 mkswap swap.disk swapon -a free -m |
Als je meer virtueel geheugen wilt had ik je vraag verkeerd begrepen, maar dan moet je dat doen inderdaad.quote:Op dinsdag 20 maart 2012 21:34 schreef Faux. het volgende:
[..]
Dus als ik het goed begrijp krijg ik als ik deze code uitvoer meer ruimte op Ubuntu?
[ code verwijderd ]
Ik heb geen idee wat ik bedoel eigenlijkquote:Op dinsdag 20 maart 2012 21:42 schreef KomtTijd... het volgende:
[..]
Als je meer virtueel geheugen wilt had ik je vraag verkeerd begrepen, maar dan moet je dat doen inderdaad.
dacht dat je opslagruimte bedoelde.
quote:Op dinsdag 20 maart 2012 21:30 schreef KomtTijd... het volgende:
Beter doe je gewoon een echte installatie trouwens
Oké, dus dan moet ik http://ubuntuforums.org/showthread.php?t=1625371 doen?quote:Op dinsdag 20 maart 2012 21:52 schreef KomtTijd... het volgende:
Ja. Dan moet je dus lezen bij "How do I resize the virtual disks?". Niet bij "How do I increase my swap space?"
ditquote:Op dinsdag 20 maart 2012 22:03 schreef Kandijfijn het volgende:
Ik ga trouwens niet meer een AMD-kaart kopenbelachelijk hoe slecht hun drivers zijn.
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/ksh # #for y in {1983 1984}; do for f in $(ls $directory); do if [[ $f == *1983* ]] ; then print "Full file path: $f" black box geheim geheim fi done #done |
quote:Op dinsdag 20 maart 2012 23:22 schreef Felagund het volgende:
Even dit topic maar volgen, werd op dit topic gewezen, ik gebruik Linux/Unix dagelijks voor mijn werk. Altijd handig, misschien leer ik nog wat bij.
(mijn korne is een beetje roestig)quote:Op dinsdag 20 maart 2012 23:05 schreef Norrage het volgende:
Moet ik met $f == *{y}*, $f == {*y*} of iets anders werken...
1 | if [[ $f =~ 1983 ]]; then |
Waarschijnlijk een timeout op de machine waarmee je verbindt (ClientAliveCountMax/ClientAliveInterval/TCPKeepAlive) of je remote shell heeft een auto logout functie?quote:Ik heb nog iets anders. Als ik ssh ergens naar toe, krijg ik bij enige inactiviteit steeds "broken pipe" errors....hoe kan ik dit voorkomen? :/
Waarom schrijf je {1983 1984}? Die accolades kunnen weg hoor... en ipv $(ls directory) kun je gewoon * gebruiken. Tenzij je niet de dir bedoelt waar het script in draait, dan moet je $dir/* doen.quote:Op dinsdag 20 maart 2012 23:05 schreef Norrage het volgende:
[code]
#!/bin/ksh
#
#for y in {1983 1984}; do
for f in $(ls $directory); do
if [[ $f == *1983* ]] ; then
print "Full file path: $f"
black box geheim geheim
fi
done
#done
[/code]
1 2 3 4 5 | for y in 1983 1984; do for f in *; do ... done done |
1 | find $directory -name '*198[34]*' -exec blackbox.sh {} \; |
Ik gebruik altijd accolades(of andere brackets), want dan hou ik het overzicht . Jouw eerste voorbeeld lijkt me niet de bedoeling? Ik wil alleen de bestanden waarvan 1983 (of een ander jaartal) in de bestandsnaam staan in de lijst zetten. Als je * doet dan neem je alle bestanden...quote:Op woensdag 21 maart 2012 11:48 schreef Ertepeller het volgende:
[..]
Waarom schrijf je {1983 1984}? Die accolades kunnen weg hoor... en ipv $(ls directory) kun je gewoon * gebruiken. Tenzij je niet de dir bedoelt waar het script in draait, dan moet je $dir/* doen.
Dus:
[ code verwijderd ]
Maar bovenstaand scriptje kan je ook zo oplossen:
[ code verwijderd ]
Ja, ik heb ook veel liever netcdf, maar mijn data wordt aangeleverd in GRIB. Het meest stomme is dat er ook tussen GRIB files zelf nog verschillen zit.quote:Op woensdag 21 maart 2012 01:54 schreef devzero het volgende:
GRIB? Kan er nou niemand een standaard bedenken voor dat soort datafiles? hdf, netcdf en ook nog eens grib
Probleem van GRIB files (hier tenminste) is dat het vele bestanden bij elkaar zijn, en volstrekt onoverzichtelijk. Netcdf ordent het tenminste een beetje. Maar ik snap de bestandsstructuur van GRIB ook niet helemaal hoor. Gelukkig hoef ik er niet direct mee te werkenquote:Op woensdag 21 maart 2012 13:30 schreef Felagund het volgende:
[..]
Ja, ik heb ook veel liever netcdf, maar mijn data wordt aangeleverd in GRIB. Het meest stomme is dat er ook tussen GRIB files zelf nog verschillen zit.
Tot nu toe heb ik het kunnen converteren naar netcdf, maar voor een paar honderd GB aan data (of meer) wil ik dit niet meer doen eigenlijk. Ook niet omdat netcdf 2x zoveel ruimte in beslag neemt. Ik weet wel hoe ik Grib kan converteren naar een binary file en dan kan inlezen, misschien moet ik dat gewoon gaan doen. Maar het klinkt allemaal zo omslachtig.
Dat heb ik hier ook, voor elk data-tijdstip (en soms elke ensemble nr.) heb je een aparte file. En idd, het is totaal onoverzichtelijk. Bij netcdf kun je gewoon altijd met ncdump de header bekijken en dan weet je welke data er in zit. Bji Grib moet je het haast vooraf weten, anders kan je er niets mee.quote:Op woensdag 21 maart 2012 13:33 schreef Norrage het volgende:
[..]
Probleem van GRIB files (hier tenminste) is dat het vele bestanden bij elkaar zijn, en volstrekt onoverzichtelijk. Netcdf ordent het tenminste een beetje. Maar ik snap de bestandsstructuur van GRIB ook niet helemaal hoor. Gelukkig hoef ik er niet direct mee te werken(nog niet tenminste...)
Op een desktop PC?quote:Op dinsdag 20 maart 2012 23:22 schreef Felagund het volgende:
Even dit topic maar volgen, werd op dit topic gewezen, ik gebruik Linux/Unix dagelijks voor mijn werk. Altijd handig, misschien leer ik nog wat bij.
Ja, is dat gek dan?quote:
Op een desktop iMacquote:
1 2 3 4 5 6 7 8 | 59 if [ diff -q $IMG $IMGREF > "$TESTDIR/difference-$TODAY.txt" ]; then 60 EQUAL="Yes" 61 rm "$TESTDIR/difference-$TODAY.txt" 62 else 63 EQUAL="No" 64 echo "Generated fractal image is different from the reference fractal image. 65 Differences are saved in difference-$TODAY.txt" 66 fi |
1 2 3 | ./cronjob: line 59: -q: command not found Generated fractal image is different from the reference fractal image. Differences are saved in difference-2012-03-21 14:23.txt |
Ik bedoel dat de accolades weg móeten, zoals jij het gebruikt zijn ze onderdeel van de variabele:quote:Op woensdag 21 maart 2012 13:22 schreef Norrage het volgende:
Ik gebruik altijd accolades(of andere brackets), want dan hou ik het overzicht
1 2 3 4 5 | live@sid:~ $ for i in {1983 1984}; do > echo $i > done {1983 1984} |
1 2 3 4 5 | live@sid:~ $ for i in {1983,1984}; do > echo $i > done 1983 1984 |
"enorm" veel is ook wel wat overdreven hoor. vi en vim zijn dezelfde (vi is een link naar vim), gedit is de standaard Gnome-editor voor wie vim niet snapt of wil snappen en nano/pico zijn hele eenvoudige editors (soort van notepad) die veel minder kunnen dan vim of gedit.quote:Op woensdag 21 maart 2012 13:15 schreef Aneurism het volgende:
Waarom zijn er zo enorm veel editors in Linux?
vim
vi
nano
gpedit
pico
en dan heb ik slechts een fractie heb ik het idee.
Waarom denk je dat de diff wordt uitgevoerd? Na de [ verwacht de shell een test.quote:Op woensdag 21 maart 2012 14:24 schreef Dale. het volgende:
Waarom werkt dit niet?
[ code verwijderd ]
Hij geeft dan als output:
[ code verwijderd ]
Hij zou namelijk gewoon de if moeten uitvoeren en niet de else
1 2 3 | diff $IMG $IMGREF > "$TESTDIR/difference-$TODAY.txt" if [ $? -eq 0 ]; then .... |
Dat hangt toch echt van je distributie af. Bv RHEL6 heeft de "originele" vi en de Vi IMproved.quote:Op woensdag 21 maart 2012 14:44 schreef Ertepeller het volgende:
vi en vim zijn dezelfde (vi is een link naar vim)
Je hebt gelijk, de originele vi was gebaseerd op ex. Ik denk dat ik in de war was met nvi of een van de andere vi clones.quote:Op woensdag 21 maart 2012 18:30 schreef Ertepeller het volgende:
De officiële vi is volgens mij toch niet beschikbaar voor de opensource wereld... dat is eigendom van degene die de copyrights op Unix bezit (is dat nog Novell? Of Attachmate?)
Ik zie het probleem ook niet zo.quote:Op woensdag 21 maart 2012 19:20 schreef TargaFlorio het volgende:
In Windows heb je toch ook een groot aantal editors? Notepad, Notepad++, Boxer, Eclipse, enzovoort.
Inderdaad, vi zelf viel onder de BSD licentie (dus vrij), maaaar helaas gebaseerd op ex/ed en die waren eigendom van AT&T. Maar ach, dat maakt toch allemaal niet meer uit nu we vim hebben. vi en alle kloontjes kunnen met pensioen. Als ze dat praktisch gesproken al niet zijn, ik zie ze nergens meer. Alleen op de commerciele Unixen (AIX en HP/UX) moet je nog met dat ouwe vi klooien. Dan mis je vim wel zeg. Meestal compileer ik het dan maar zelf (als het mag & kan).quote:Op woensdag 21 maart 2012 20:51 schreef devzero het volgende:
Je hebt gelijk, de originele vi was gebaseerd op ex. Ik denk dat ik in de war was met nvi of een van de andere vi clones.
- Diversiteit is goed.quote:Op woensdag 21 maart 2012 13:15 schreef Aneurism het volgende:
Waarom zijn er zo enorm veel editors in Linux?
vim
vi
nano
gpedit
pico
en dan heb ik slechts een fractie heb ik het idee.
Precies, maar na een herstart zijn die weer weg.quote:Op woensdag 21 maart 2012 21:28 schreef NightH4wk het volgende:
Enkel de eerste zou lang moeten duren. Daarna zitten al de shared libs/etc. in het geheugen.
Herstarten?quote:Op woensdag 21 maart 2012 22:37 schreef robin007bond het volgende:
[..]
Precies, maar na een herstart zijn die weer weg.
Ik vind het maar een onhandig programma, ik heb graag wat opmaak bij het programmeren.quote:
Ik ook. Daarom: vimquote:Op donderdag 22 maart 2012 10:07 schreef Felagund het volgende:
[..]
Ik vind het maar een onhandig programma, ik heb graag wat opmaak bij het programmeren.
Ja, maar niet op unix/linux.quote:
Ik heb het gisteren getest, het werkt echt geweldig. Net zo goed als op Windows.quote:Op donderdag 22 maart 2012 10:08 schreef PiRANiA het volgende:
[..]
Kay. Ik vroeg me af of spotify tegenwoordig goed werkt op linux. En of de apps werken.
Via wine? En heb je dan de apps?quote:Op donderdag 22 maart 2012 10:17 schreef Computerfluisteraar het volgende:
[..]
Ik heb het gisteren getest, het werkt echt geweldig. Net zo goed als op Windows.
Krijg je die "balken" die boven en onderstaan dan ook niet? Dat heb ik al eens gehadquote:Op donderdag 22 maart 2012 10:46 schreef Blue_Panther_Ninja het volgende:
Hoi,
gebruik Kubuntu 11.10 x64(AMD quadcore).Ik kan maar niet achter komen waarom ik na het inloggen mijn splashscreen hangt(al 25 dagen lang,moet steeds via de CLI updates doen/upgraden),heb al gekeken op Google hoe en wat!ATI drivers lijken in orde!
![]()
Ben wel een geavanceerde Linux gebruiker.![]()
tevens tvp.
Ze hangt onmiddelijk na het inloggen.quote:Op donderdag 22 maart 2012 10:48 schreef .Neovo. het volgende:
[..]
Krijg je die "balken" die boven en onderstaan dan ook niet? Dat heb ik al eens gehad
Andere user geprobeerd om mee in te loggen?quote:Op donderdag 22 maart 2012 10:52 schreef Blue_Panther_Ninja het volgende:
[..]
Ze hangt onmiddelijk na het inloggen.
Ik ben de enige user.quote:Op donderdag 22 maart 2012 13:14 schreef Aneurism het volgende:
[..]
Andere user geprobeerd om mee in te loggen?
Geluktquote:Op donderdag 22 maart 2012 14:20 schreef erikkll het volgende:
[..]
Nee, niet met wine! Met de preview en het werkt uitstekend!
Misschien zijn je configuratiefiles van KDE verpest o.i.d.quote:
Kent kde ook een xsessions in home? Kijk daar maar eens in of er errors in staan.quote:Op donderdag 22 maart 2012 10:46 schreef Blue_Panther_Ninja het volgende:
Hoi,
gebruik Kubuntu 11.10 x64(AMD quadcore).Ik kan maar niet achter komen waarom ik na het inloggen mijn splashscreen hangt(al 25 dagen lang,moet steeds via de CLI updates doen/upgraden),heb al gekeken op Google hoe en wat!ATI drivers lijken in orde!
![]()
Ben wel een geavanceerde Linux gebruiker.![]()
tevens tvp.
Jammer dat de fontrendering zo ruk is. Net als bij SuSE en Debian en bijna alle anderen overigens. Alleen bij Ubuntu (en afgeleiden) is dat goed.quote:Op donderdag 22 maart 2012 20:11 schreef Joooo-pi het volgende:
Ik heb nu een paar dagen fedora op m'n werk. Meng, wat ziet dat er mooi uit. De installatie was echt briljant en het werkt zeer intuitief. Ik ben behoorlijk enthousiast tot nu toe.
Ik weet het niet,hoe doe ik dat via bash CLI?quote:Op donderdag 22 maart 2012 19:55 schreef wdn het volgende:
[..]
Kent kde ook een xsessions in home? Kijk daar maar eens in of er errors in staan.
quote:Op donderdag 22 maart 2012 21:30 schreef Blue_Panther_Ninja het volgende:
[..]
Ik weet het niet,hoe doe ik dat via bash CLI?
1 2 | cd more .xsession-errors |
1 | more ~/.xsession-errors |
Aha,zal straks proberen!!quote:Op donderdag 22 maart 2012 21:38 schreef Ertepeller het volgende:
[..]
[ code verwijderd ]
of:
[ code verwijderd ]
I.p.v. "more" kun je natuurlijk ook je favoriete editor invullen: vim/gedit/nano
Of gewoon met find zoeken naar het bestand. Je kunt ook rustig even door je home bladeren met "ls" (zonder aanhalingstekens), om vervolgens met cat het bestand te bekijken.quote:Op donderdag 22 maart 2012 21:43 schreef Blue_Panther_Ninja het volgende:
[..]
Aha,zal straks proberen!!
Ik weet het al van ls,nooit geweten dat ik het met cat kon kijken.quote:Op donderdag 22 maart 2012 21:46 schreef robin007bond het volgende:
[..]
Of gewoon met find zoeken naar het bestand. Je kunt ook rustig even door je home bladeren met "ls" (zonder aanhalingstekens), om vervolgens met cat het bestand te bekijken.
Met een kale "ls" zie je hem alleen niet, omdat het een dot-file isquote:Op donderdag 22 maart 2012 21:46 schreef robin007bond het volgende:
Of gewoon met find zoeken naar het bestand. Je kunt ook rustig even door je home bladeren met "ls" (zonder aanhalingstekens), om vervolgens met cat het bestand te bekijken.
Oeh, leer ik ook weer eens wat. Ik wist niet van "more" af.quote:Op donderdag 22 maart 2012 22:08 schreef Ertepeller het volgende:
[..]
Met een kale "ls" zie je hem alleen niet, omdat het een dot-file is
Daarvoor moet je optie -a gebruiken.
Dus: "ls -a" of "ls -la"
"cat" doet hetzelfde als "more", maar dan in 1 keer. Als het bestand nogal lang is (heel wel mogelijk met .xsession-errors), dan vliegt de inhoud meteen voorbij. "more" of "less" is dan handiger.
Waarom ben je dan sneu? L. Torvalds is gewoon een getalenteerd programmeur. Elk topbedrijf uit de ICT zal hem wel willen hebben als werknemer.quote:Op vrijdag 23 maart 2012 00:35 schreef Blue_Panther_Ninja het volgende:
Steve Jobs probeerde ooit Torvalds in te lijfen!!
Hoe sneu ben je als CEO.
Ik las het gisteren ja. Ik heb nu een nóg grotere hekel aan Apple.quote:Op vrijdag 23 maart 2012 00:35 schreef Blue_Panther_Ninja het volgende:
Steve Jobs probeerde ooit Torvalds in te lijfen!!
Hoe sneu ben je als CEO.
Als het gelukt was hadden we nu allemaal nice arty farty Apple servers in de racks gehad. Hell, de racks zelf zouden een soort Apple design hebben.quote:Op vrijdag 23 maart 2012 00:35 schreef Blue_Panther_Ninja het volgende:
Steve Jobs probeerde ooit Torvalds in te lijfen!!
Hoe sneu ben je als CEO.
Nou ja, omdat Steve Jobs specifiek heeft gevraagd of hij wou stoppen met Linux. Toen de tijd had het vertrek van Linus veel impact gehad, een stuk meer dan nu.quote:Op vrijdag 23 maart 2012 11:18 schreef Kandijfijn het volgende:
Waarom gaan mensen er vanuit dat dit alles bedoeld was om Linux van de markt te trappen? In 2001 had Linux al een enorm aandeel op de servers wereldwijd en beetje voet op de desktop (just like today).
Het vertrek van Linus zou een tegenslag zijn geweest voor de Linux-community maar geen onoverkoombaar probleem.
En vervolgens wil gaan beperken.quote:Op vrijdag 23 maart 2012 10:51 schreef KomtTijd... het volgende:
Ja wat sneu dat je een van de geniaalste programmeurs ter wereld probeert in te huren.
1 2 3 4 5 6 7 | start IM trough /etc/x11/xinit/xinput.d/all_ALL linked to /etc/x11/xinit/xinput.d/default Xlib: extension "GLX" missing on display ":0" "/usr/bin/kactivitymanagerd(1895) " Soprano :<<en dan 7 regels dat er een onderdeel ongeldig is, etc etc. kwin(1828):failed to initialize,compositing disabled |
1 | EDID checksum is invalid ,remainder is codenummer |
Die reactiesquote:Op vrijdag 23 maart 2012 00:35 schreef Blue_Panther_Ninja het volgende:
Steve Jobs probeerde ooit Torvalds in te lijfen!!
Hoe sneu ben je als CEO.
1 | programma_met_output 2> /mijn/toffe/file |
Inderdaad lijden met lange ijquote:Op vrijdag 23 maart 2012 13:30 schreef NightH4wk het volgende:
Die combo zou wel tot extreme fanboys lijden.
Wil je dus filteren (grep ofzo) of replacen (sed oid)?quote:Op vrijdag 23 maart 2012 14:36 schreef Tijn het volgende:
Ik ben bezig met een klein scriptje op een bash shell waarbij ik de output van een programma in een bestandje wil opslaan. Ik wil echter voordat ik het in de file stop iets searchen & replacen in de string. Hoe doe ik dat?
Ik gebruik nu zoiets:
[ code verwijderd ]
Dat werkt, maar er komt teveel output in de file. Ik ben alleen maar geïnteresseerd in een stukje van de output. Maar ik ben te klungelig om het er handig uit te filteren
Dan zou je zoiets kunnen doen:quote:Op vrijdag 23 maart 2012 14:36 schreef Tijn het volgende:
Ik ben bezig met een klein scriptje op een bash shell waarbij ik de output van een programma in een bestandje wil opslaan. Ik wil echter voordat ik het in de file stop iets searchen & replacen in de string. Hoe doe ik dat?
Ik gebruik nu zoiets:
[code]
pogramma_met_output 2> /mijn/toffe/file
[/code]
Dat werkt, maar er komt teveel output in de file. Ik ben alleen maar geïnteresseerd in een stukje van de output. Maar ik ben te klungelig om het er handig uit te filteren
1 | programma_met_output | grep "what_you_want" > /mijn/toffe/file |
1 | programma_met_output 2>&1 | grep "what_you_want" >/mijn/toffe/file |
1 | programma_met_output >/mijn/toffe/file.out 2>/mijn/toffe/file.err |
Dat kun je doen dmv "grep -v" of "sed '/iets/d' ":quote:Op vrijdag 23 maart 2012 14:52 schreef Tijn het volgende:
Ja, ik weet hoe je met grep een lange lijst kan terugbrengen naar iets korters door te filteren met een zoekterm. Maar in dit geval wil ik iets juist weghalen waarvan ik weet wat het is en laten staan wat variabel is.
1 | programma | grep -v 'wil_ik_niet' > resultaat |
1 | programma | sed '/wil_ik_niet/d' > resultaat |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |