[FreeBSD]ruzie met 'head'

Pagina: 1
Acties:

  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Ik heb volgens mij een issue met betrekking tot verschil in freebsd's head, en linux's gnu head.

Aanschouw het volgende scripje als voorbeeld:

code:
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
s1=`head -c 5`
s2=`head -c 5`
s3=`head -c 5`
s4=`head -c 5`
s5=`head -c 5`
echo "--> $s1"
echo "--> $s2"
echo "--> $s3"
echo "--> $s4"
echo "--> $s5"

als het ik script aanroep op een linux doos:
code:
1
2
3
4
5
6
$ echo "abcdefghijklmnopqrstuvwxyz" | ./test.sh
--> abcde
--> fghij
--> klmno
--> pqrst
--> uvwxy

en roep ik 'm aan op een freebsd machine:
code:
1
2
3
4
5
6
$ echo "abcdefghijklmnopqrstuvwxyz" | ./test.sh
--> abcde
-->
-->
-->
-->


Leuk.. heeft iemand enig idee hoe ik op een of andere manier toch op freebsd makkelijk door die stdin kan gaan als het ware?


De reden dat ik hiermee bezig ben, is dat bezig ben met een backup systeem met FreeBSD7 en Amanda 2.5.1, en dat werkt als een trein. Maar nu wil ik ook backups encrypten, en het encrypten en decrypten gaat bij 2.5 door middel van een script genaamd amaespipe. Bij het restoren bijvoorbeeld, wordt de file gepiped naar amaespipe, en die haalt wat gegevens uit de eerste 46 bytes d.m.v. head, en piped de rest door naar aespipe.

Probleem is alleen dat ze dit alleen op gnu/linux hebben getest, want dit script werkt niet op freebsd. FreeBSD's head heeft ook geen parameter '-' om van stdinput te lezen, etc. Nu probeer ik dus dat script om te zetten naar iets dat onder BSD werkt, maar het lukt me nog niet echt.

Iemand suggesties?

(En ik weet dat ik eerst alles in een variabele kan stoppen en dan weer daarin zoeken enzo, maar dat lijkt me niet handig met 500GB backup files ;) )

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Gewoon perl gebruiken? :)
En wat voor shell wordt op linux onder gedraaid, bash? Ik vind het ook wel een beetje een vreemde constructie eerlijk gezegd :)

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
idd vreemde constructie. Heb je GNUs head al op freebsd geprobeerd? (bv in sysutils/coreutils te vinden)

  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 19-10-2025
Misschien dit:

code:
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
s1=`dd bs=5 count=1`
s2=`dd bs=5 count=1`
s3=`dd bs=5 count=1`
s4=`dd bs=5 count=1`
s5=`dd bs=5 count=1`
echo "--> $s1"
echo "--> $s2"
echo "--> $s3"
echo "--> $s4"
echo "--> $s5"

[ Voor 11% gewijzigd door bobo1on1 op 12-09-2008 18:13 ]

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
dd leek mijzelf ook een logischere keus, dit moet inderdaad werken. Maar anders werk ghead ook denk ik.

[ Voor 21% gewijzigd door begintmeta op 12-09-2008 18:20 ]


  • axis
  • Registratie: Juni 2000
  • Laatst online: 26-01-2023
Thanks guys! Heb het werkend met dd, leek me netste..
blaataaps schreef op vrijdag 12 september 2008 @ 17:48:
Gewoon perl gebruiken? :)
En wat voor shell wordt op linux onder gedraaid, bash? Ik vind het ook wel een beetje een vreemde constructie eerlijk gezegd :)
is al een bash/sh script dat bij amanda wordt geleverd.
begintmeta schreef op vrijdag 12 september 2008 @ 18:06:
idd vreemde constructie. Heb je GNUs head al op freebsd geprobeerd? (bv in sysutils/coreutils te vinden)
Nondesjeng, is ie daar verstopt! Ik heb flink gezocht naar de gnu versie van head in de ports, maar toch niet goed genoeg dus. Dank je, zal dit onthouden.
Thanks, werkt als een zonnetje..

Net nog even een paar GB encrypt en decrypt, me is happy :)

Two advices for network troubleshooting.. learn to draw diagrams in Visio, and THINK IN LAYERS!

Pagina: 1