abonnement Unibet Coolblue
pi_109285693
quote:
0s.gif 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.
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)?

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 "+")

edit:
quote:
Wherever possible, Bash users should try to use the syntax with square brackets:
bash beginners guide Maar waarom?

[ Bericht 11% gewijzigd door devzero op 19-03-2012 20:13:04 ]
pi_109290154
Het formaat $[ ... ] is oud en deprecated. Volgens de manual van bash gaat deze methode in de toekomst verdwijnen. Niet meer gebruiken dus.
Vierkante haakjes worden gebruikt voor indexen, bv in $var[teller] . Hierbij is teller een expressie: er mag dus iets als 3+4 staan.

Het formaat $(( ... )) is de moderne manier en the way to go.

Maar qua evaluatie maakt het op dit moment niet uit nee.
pi_109291392
Waarom zou je je in godsnaam druk maken om bashscriptjes als er ook Python bestaat?
pi_109301306
1for 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
Kan vast een stuk netter in python, maar als snelle bash onliner is het toch makkelijk. (we hebben al onze ipmi addressen op 100+de locatie in het rack)
  dinsdag 20 maart 2012 @ 21:27:08 #105
292596 Faux.
Fan van zichzelf
pi_109331529
Hoi,

een tijdje terug heb ik Ubuntu geinstalleerd met de Windows installer (Wubi of zo heette het). Ik heb Ubuntu toen niet zo heel veel ruimte toegewezen, waar ik nu spijt van heb. Ubuntu zit propvol qua geheugen terwijl Windows nog alle ruimte heeft. Hoe kan ik wat van de ruimte van Windows aan Ubuntu geven?
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
  dinsdag 20 maart 2012 @ 21:34:55 #107
292596 Faux.
Fan van zichzelf
pi_109332064
quote:
Dus als ik het goed begrijp krijg ik als ik deze code uitvoer meer ruimte op Ubuntu? :@
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
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_109332186
en daarna die swap.disk.bak weggooien.
pi_109332586
quote:
11s.gif 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 ]

Als je meer virtueel geheugen wilt had ik je vraag verkeerd begrepen, maar dan moet je dat doen inderdaad.

dacht dat je opslagruimte bedoelde.
  dinsdag 20 maart 2012 @ 21:50:22 #110
292596 Faux.
Fan van zichzelf
pi_109333093
quote:
5s.gif 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.
Ik heb geen idee wat ik bedoel eigenlijk :@ Ubuntu zegt dat ik geen ruimte meer heb om dingen op te slaan. Ik weet bij het installeren nog dat ik maar 8 gb of zo aan Ubuntu heb gegeven. Nu heeft Windows nog wel heel veel gb over, en dat wil ik aan Ubuntu geven. :)
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_109333210
Ja. Dan moet je dus lezen bij "How do I resize the virtual disks?". Niet bij "How do I increase my swap space?"
pi_109333224
quote:
14s.gif Op dinsdag 20 maart 2012 21:30 schreef KomtTijd... het volgende:

Beter doe je gewoon een echte installatie trouwens :9
  dinsdag 20 maart 2012 @ 21:54:00 #113
292596 Faux.
Fan van zichzelf
pi_109333324
quote:
14s.gif 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?"
Oké, dus dan moet ik http://ubuntuforums.org/showthread.php?t=1625371 doen? :) En dan blijft alles wat ik op Ubuntu heb opgeslagen wel bewaard? :)
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_109333521
...dat staat er ja?
pi_109333935
Ik ga trouwens niet meer een AMD-kaart kopen :r belachelijk hoe slecht hun drivers zijn.
pi_109337569
quote:
0s.gif Op dinsdag 20 maart 2012 22:03 schreef Kandijfijn het volgende:
Ik ga trouwens niet meer een AMD-kaart kopen :r belachelijk hoe slecht hun drivers zijn.
dit
Op maandag 20 december 2010 03:32 schreef MYV het volgende:
vergeleken met KeFFuR1208 ben jij een god :6
pi_109337957
Mensen:
Ik heb een suffe korn shell (ksh) (waarom er net 1 scriptje aanwezig is die met deze shell werkt weet ik niet) en ik wil daar een simpel loopje in werkend krijgen...maar het lukt niet. Kan iemand me helpen? (het is een simpel probleem, en ik kan het ook gewoon als een andere shell taal schrijven maar ik wil gewoon weten hoe dit gaat (onopgeloste problemen gvd)) :P

Ik neem aan dat er genoeg koningen in dit topic zitten (is de eerste keer dat ik erin zit en een tvp lijkt me wel handig hier, ik heb zo af en toe wel unix vraagjes)

Het zit zo:

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
Zoals je (hopelijk) ziet wil ik in dit loopje alle bestanden zoeken waarin het getal 1983 en daar een 'black box geheim geheim scriptje' (ik bespaar jullie de rest van de code) overheen gooien. Ik wil dit uiteindelijk ook voor alle andere jaartallen doen, 1 voor 1. Als ik echter de #'s weghaal voor de 2e forloop, en in de if-statement y probeer te plaatsen..dan werkt het niet :'(

Moet ik met $f == *{y}*, $f == {*y*} of iets anders werken...ik krijg het niet werkende. Kut korn shell (waarom bestaan er uberhaupt verschillende shells :( Met alle andere shells lukt me dit wel, hier niet.

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? :/
"Some guys they just give up living and start dying little by little piece by piece"
last.fm | Rate Your Music | MusicMeter | top 100 nummers | top 100 albums | top 50 2013 | top 100 jazz | Onze-blog: pat-sounds
pi_109338858
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.
You don't need a weatherman to know which way the wind blows.
---------------------------------------------------------------------------------------------------------------------------------------------
last.fm Album top 100
pi_109338924
quote:
0s.gif 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.
:W
Tips en tricks zijn altijd handig in Unix :)
"Some guys they just give up living and start dying little by little piece by piece"
last.fm | Rate Your Music | MusicMeter | top 100 nummers | top 100 albums | top 50 2013 | top 100 jazz | Onze-blog: pat-sounds
pi_109339283
Er is hier zeker niemand die ervaring heeft met GRIB-files en Fortran? :P
You don't need a weatherman to know which way the wind blows.
---------------------------------------------------------------------------------------------------------------------------------------------
last.fm Album top 100
pi_109342677
GRIB? Kan er nou niemand een standaard bedenken voor dat soort datafiles? hdf, netcdf en ook nog eens grib :N
pi_109342738
quote:
0s.gif Op dinsdag 20 maart 2012 23:05 schreef Norrage het volgende:
Moet ik met $f == *{y}*, $f == {*y*} of iets anders werken...
(mijn korne is een beetje roestig)
Met == vergelijk je een string met een reg exp, dus je moet geen quotes gebruiken om je 1983. Aangezien je vergelijkt met een substring, zou ik geen == *1983* gebruiken, maar =~:
1if [[ $f =~ 1983 ]]; then

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? :/
Waarschijnlijk een timeout op de machine waarmee je verbindt (ClientAliveCountMax/ClientAliveInterval/TCPKeepAlive) of je remote shell heeft een auto logout functie?
pi_109343871
quote:
0s.gif 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]
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:
1
2
3
4
5
for y in 1983 1984; do
    for f in *; do
        ...
    done
done 

Maar bovenstaand scriptje kan je ook zo oplossen:
1find $directory -name '*198[34]*' -exec blackbox.sh {} \;
pi_109347099
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.
pi_109347274
Omdat iedereen z'n eigen voorkeur heeft. :P
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')