1. Löysin lopulta itse ratkaisun tähän.
Mutta nettisivulla on silti harhaanjohtavia ohjeita tästä, miksi ?
Esimerkki: haluaisin batch -tiedoston (= bash -script), joka toimisi kuten truename MS-DOSissa.
esimerkiksi näin:
truename file1.txt
haluttu komennon tuloste:
/home/username/file1.txt
--------------------- Ratkaisu: truename ----------------------
#!/bin/bash
hak=$(pwd)
echo "$hak$1"
---------------------- Ratkaisu loppuu --------------------------
Ratkaisuun tarvittavat tiedot löysin täältä:
http://www.cyberciti.biz/faq/unix-linux-bsd-appleosx-bash-assign-variable-command-output/
Mutta sielläkin tuli ENSIN vastaan harhaanjohtava ohje:
virheellinen esimerkki:
now=`date`
toimiva esimerkki:
now=$(date)
Lopuksi:
chmod 544 truename
------------
Tällä kertaa halusin tarkastella netistä löytyvää .doc -tiedostoa (MSWORD, mutta tehty liian uudella versiolla verrattuna käytössäni olevaan wordpad.ex:en windowsissa, joten haluan avata tämän esim. openofficella linuxissa sen sijasta).
Linkki dokumenttiin:
http://tinyurl.com/scancodedoc
jos haet wget:llä, niin seuraavaksi:
mv scancodedoc scancode.doc
Jos haet selaimella, ehkä haluat:
http://preview.tinyurl.com/scancodedoc
Mutta nettisivulla on silti harhaanjohtavia ohjeita tästä, miksi ?
Esimerkki: haluaisin batch -tiedoston (= bash -script), joka toimisi kuten truename MS-DOSissa.
esimerkiksi näin:
truename file1.txt
haluttu komennon tuloste:
/home/username/file1.txt
--------------------- Ratkaisu: truename ----------------------
#!/bin/bash
hak=$(pwd)
echo "$hak$1"
---------------------- Ratkaisu loppuu --------------------------
Ratkaisuun tarvittavat tiedot löysin täältä:
http://www.cyberciti.biz/faq/unix-linux-bsd-appleosx-bash-assign-variable-command-output/
Mutta sielläkin tuli ENSIN vastaan harhaanjohtava ohje:
virheellinen esimerkki:
now=`date`
toimiva esimerkki:
now=$(date)
Lopuksi:
chmod 544 truename
------------
Tällä kertaa halusin tarkastella netistä löytyvää .doc -tiedostoa (MSWORD, mutta tehty liian uudella versiolla verrattuna käytössäni olevaan wordpad.ex:en windowsissa, joten haluan avata tämän esim. openofficella linuxissa sen sijasta).
Linkki dokumenttiin:
http://tinyurl.com/scancodedoc
jos haet wget:llä, niin seuraavaksi:
mv scancodedoc scancode.doc
Jos haet selaimella, ehkä haluat:
http://preview.tinyurl.com/scancodedoc
Vastaukset 2
Vanhimmat
Korjaus edelliseen:
siis NÄIN:
--------------------- Ratkaisu: truename ----------------------
#!/bin/bash
hak=$(pwd)
echo "$hak/$1"
---------------------- Ratkaisu loppuu --------------------------
Alkuperäisestä unohtui tuo "/" echo -riviltä, jonka seurauksena tiedostonimi olisi liimautunut suoraan kiinni hakemistonimeen ilman "/" -merkkiä välissä !
>> Mutta sielläkin tuli ENSIN vastaan harhaanjohtava ohje... >>
Ihan piti koklata molemmat tavat (eli komennon tuloste muuttujan arvoksi)
now1=$(date)
now2=`date`
Täällä molemmat toimi (sekä suoraan päätteeltä, että bash skriptissä).
Ihan vaan siksi piti koklata kun ei oo tullu jälkimmäistä tapaa käytettyä aikoihin - meikäläisen kaaliin kun tuo $(jokin_komento) istuu paremmin :)
nimim. "GNU bash, versio 4.2.37(1)-release (i486-pc-linux-gnu)"