Kirjoittaja Aihe: return string joe -editorilta ?  (Luettu 7525 kertaa)

Mistofelees

  • Käyttäjä
  • Viestejä: 715
    • Profiili
return string joe -editorilta ?
« : 19.08.26 - klo:12.01 »
Onko jotain tapaa, jolla saisi bash-scriptissä joe editorin palauttaman joen loppulauseen  muuttujaan ?
Mahdolliset joen palauttamat loppulauseet
- " File tmp not changed so no update needed "
- " File tmp saved "

Tarkoitus on tehdä scripti, joka kopioi editoidun tiedoston serverille *ainoastaan*, jos se on muuttunut.
Joe palauttaa $? -argumenttiin aina arvon '0', joten pitää tutkia tuota joen palauttamaa lausetta.

komento lause=$(joe tmp) käynnistää joen jonnekin taustalle näkymättömiin, joten editointi ei onnistu:
Koodia: [Valitse]
#!/bin/bash
ulos=$(joe tmp)
echo "Tulos: $ulos"

Saan joen editorin näkymään ja tuloksen scriptin käyttöön, jos kierrätän tuloksen tiedoston kautta, mutta se ei tunnu kovin sivistyneeltä:
Koodia: [Valitse]
#!/bin/bash
joe tmp 2>aa
echo "Tulos:"; cat aa

nm

  • Käyttäjä
  • Viestejä: 17131
    • Profiili
Vs: return string joe -editorilta ?
« Vastaus #1 : 19.08.26 - klo:15.16 »
Tarkoitus on tehdä scripti, joka kopioi editoidun tiedoston serverille *ainoastaan*, jos se on muuttunut.

Laske tiedostosta tarkistussumma (esim. SHA-256) ennen editorin avaamista ja uudelleen editorin sulkemisen jälkeen. Jos summat täsmäävät, tiedoston sisältöä ei ole muutettu. Tämä mekanismi toimii editorista riippumatta. Lisäksi voit tarpeen mukaan tarkistaa myös tiedoston viimeisen muokkausajan stat-komennolla:

Koodia: [Valitse]
stat -c %y tmp

Mistofelees

  • Käyttäjä
  • Viestejä: 715
    • Profiili
Vs: return string joe -editorilta ?
« Vastaus #2 : 25.10.26 - klo:17.54 »
Tämä 'stat' osoittautui lopulta hyväksi työkaluksi ja lopputulemana oli scripti 'loki.sh', joka kopioi kotiserverille läppärin lokitiedoston uptime.txt ainoastaan, kun olen sitä muokannut.

Olen aina kirjannnut tähän uptime.txt -tiedostoon kaikki tekoseni. Tai ainakin linkit ulkoisiin files.txt -tiedostoihin, joissa on informaatiota eri projekteihin kuuluvista tempuista. Tiedostoista on mukava kaivella asioita.
Vanhin uptime.txt näyttää alkaneen 071209. Sitä vanhemmat tuhoutuivat silloisen serverin kaikkien levyjen tuhoutuessa kerralla.