[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
problems with output redirection
From: |
Verena Alishahi |
Subject: |
problems with output redirection |
Date: |
Wed, 02 Apr 2008 10:37:50 +0200 |
User-agent: |
Thunderbird 2.0.0.12 (X11/20080226) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Dear list-members,
last week I've updated my workstation cluster client (amd 64 bit) from
SuSE 10.0 to openSUSE 10.3. My bash-version is 3.2.25(1)-release.
Now I've problems with a bash script, which I used (with bash 3.1) for
years without any problems. I really don't understand what's going on.
I've reduced my original script to a minimal script which reproduces the
output redirection error. The script works as follows:
My first script (local.sh) reads a list of worksation cluster clients
from hosts.inp in a loop and prints some output to output.txt. In the
loop a second script (remote.sh) is called in a ssh instruction.
remote.sh then writes some output to the same output.txt file, but this
output doesn't reach the output file correctly.
Both the bash-scripts and the output file are stored on an
NFS-Filesystem (on the workstation cluster server), so every client can
access them.
| less hosts.inp
client1
client2
client3
client4
| less local.sh
#!/bin/bash
OUTPUT=$HOME/bashtest/output.txt
INPUT_HOSTS=$HOME/bashtest/hosts.inp
REMOTE_SKRIPT=$HOME/bashtest/remote.sh
echo "created from $HOME/bashtest/local.sh" > $OUTPUT
for HOST in `cat $INPUT_HOSTS`
do
~ echo $HOST >> $OUTPUT
~ ssh $HOST $REMOTE_SKRIPT
~ echo "" >> $OUTPUT
done
| less remote.sh
#!/bin/bash
OUTPUT=$HOME/bashtest/output.txt
echo "TEST2" >> $OUTPUT
| less output.txt
created from /home/user1/bashtest/local.sh
client1
^@^@^@^@^@^@
client2
^@^@^@^@^@^@
client3
^@^@^@^@^@^@
client4
^@^@^@^@^@^@
Instead of all the ^@^@^@^@^@^@ rows, output.txt should contain the text
TEST2
less thinks output.txt were a binary file.
I don't understand, why the output-redirection in remote.sh doesn't
work. If I do the output-redirection in remote.sh to another file, for
example
OUTPUT2=$HOME/bashtest/output2.txt
echo "TEST2" >> $OUTPUT2
then it works.
The output-redirection only fails, when the redirection is to the same
file which is also be written from local.sh.
I appreciate receiving any help.
best regards,
Verena Alishahi
- --
Verena Alishahi
Institut für Chemie und Dynamik der Geosphäre
ICG-1: Stratosphäre
Tel.: +49 2461 61-6221
E-Mail: v.alishahi@fz-juelich.de
- --------------------------------------------------------------------------
- --------------------------------------------------------------------------
Forschungszentrum Jülich GmbH
52425 Jülich
Sitz der Gesellschaft: Jülich
Eingetragen im Handelsregister des Amtsgerichts Düren Nr. HR B 3498
Vorsitzende des Aufsichtsrats: MinDirig'in Bärbel Brumme-Bothe
Geschäftsführung: Prof. Dr. Achim Bachem (Vorsitzender), Dr. Ulrich Krafft
(stellv. Vorsitzender); Dr. Sebastian M. Schmidt
- --------------------------------------------------------------------------
- --------------------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4-svn0 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
iD8DBQFH80XdB/rJPqfoUGARAsxsAKDW/2VyTD9vZ5hwqaBHetahrkUCTgCghVVP
6L93pwaFPbfj7O3w0IjOdSs=
=+SC6
-----END PGP SIGNATURE-----
-------------------------------------------------------------------
-------------------------------------------------------------------
Forschungszentrum Jülich GmbH
52425 Jülich
Sitz der Gesellschaft: Jülich
Eingetragen im Handelsregister des Amtsgerichts Düren Nr. HR B 3498
Vorsitzende des Aufsichtsrats: MinDir'in Bärbel Brumme-Bothe
Geschäftsführung: Prof. Dr. Achim Bachem (Vorsitzender),
Dr. Ulrich Krafft (stellv. Vorsitzender), Prof. Dr. Harald Bolt,
Dr. Sebastian M. Schmidt
-------------------------------------------------------------------
-------------------------------------------------------------------
- problems with output redirection,
Verena Alishahi <=