Már megint nem tudom hova írjam :( Ha nagyon lame akkor bocs.
Szigorúan consol parancs.
Már többször sikerült eltolnom a kézi dátum/idő beállítást - az alap ugyebár MMDDHHMM[[CC]YY] - és még valami, tán mikrosecundumok?
Szóval, nem tudná megsugni valaki, hogy lehet ezt a default dátum/idő stringet valami emberibben megadni?
Mondjuk:
#date 2208.05.09 18:30
- 1312 megtekintés
Hozzászólások
date 220805091830 ?
- A hozzászóláshoz be kell jelentkezni
Esetleg írni rá egy scriptet. Sajna kész megoldással nem tudok szolgálni, mert még csak most kezdek ismerkedni a bash-howto-kkal, de egy elvet felvázolhatok.
#!/bin/bash
$d=%1
$datum=$d[6,2]+$d[9,2]+$d[12,2]+$d[14,2] - esetleg még +d$[1,4] az évszámnak
date $datum
Szóval szétdarabolom az értelmezhető formátumot és ujra összerakom a date számára megfelelő formátumra. Sajnos a szintaktika még kamu, de az elv hátha lejön belőle. Abból indultam ki, hogy a stringek poziciói 1-től indulnak (a valóságban meg tutira 0-tól, tehát a kezdőpozicíókat csökkenteni kell 1-el). És tuti hogy akad rá frappánsabb megoldás is, de még a grep, sed stb.-ről is csak annyit tudok, hogy vannak. És még azt sem tudom, hogy ilyen jellegű stringszabdalást lehet-e illetve hogyan...
Ezt a scriptet elmenteni pld. datum néven, és akkor a
datum "2008.10.15 22:33"
elvileg beállítja a 2008.10.15-ét, 22:33 időre. Ezt utána lehetne finomítani is, hogy pld nincs megadva óra csak nap stb. Az idézőjelet sem tudom még, hogy kell-e, vagy 2 paramétert adunk át, az első a nap, a második az óra és ennek megfelelően szabdaljuk a stringet. Bár ha jól láttam, akkor a date -nek mindenképpen meg kell adni óra percet is, ugye?
- A hozzászóláshoz be kell jelentkezni
Na hosszas szenvedés után megvan a szintaktika... hát nemtudom... Versenyez életem legelb@xottabb megoldásai címért a php-s stringösszeadási szintaktikával, bár szerintem ez hajazza. (De nem ez lesz a befutó, mert amiket itt néha olvasok kezdőként.... a hozzászóló neve még megy, de utána :D )
#!bin/bash
date ${1: 5: 2}${1: -2}${2: 0: 2}${2: -2}${1: 0: 4}
Ha ezt elmented pld. datum néven, futtathatóvá (és elérhetővé) teszed, akkor egy
./datum 2008.05.12 22:32
azt csinálja amit szeretnél. Persze nincs benne semmi biztonsági vizsgálat, ha rossz adatot adsz meg, akkor hibaüzenet.
OFF:
Az tökre tetszett, hogy a bash howto-k olvasása semmire sem volt jó, egy totál más témakörben olvasva találtam egy véletlen utalást arra, hogy talán hogyan is lehet megoldani a szabdalást. Persze a logikát magamtól kellett kisakkozni, egy darabig értetlenkedtem is rendesen :) Mostmár érthető nagyjából. A linux világban szerintem a legnagyobb gond egy kezdő számára a kérdezés, mert guglival befürödtem pld. ebben a kérdésben.
- A hozzászóláshoz be kell jelentkezni
date -s "10 May 2008 23:05:00"
Én is épp most csesztem el. :)
- A hozzászóláshoz be kell jelentkezni