James Bonfield (jkb at mrc-lmb.cam.ac.uk) wrote:
: Stephen Baird wrote:
: I can see no reason why this should go wrong. However there are numerous ways
: of trimming white space from a file. I should probably have used "tr -d ' '"
: instead, but tr tends to vary slightly between SysV and BSD systems. You could
: try using awk or perl or something else too. The line in question though
: should work fine on all systems so I really cannot find a problem. Any more
: diagonostics would be useful. Try changing the first line to "#!/bin/sh -x" or
: "#!/bin/sh -v" for debugging output.
#!/bin/sh -x would not allow the script to work in the vepe sections no
matter whether I was starting from sh or csh, so I could never debug the
problem. My guess is the redirection characters ">" "<" , because only
in the vepe section of pregap do these characters do anything for my
data and the temporary files created by vepe will exist but not the file
after sed or tr has taken out the spaces....... but if I write a small
bourne shell script the redirection works fine even with #!/bin/sh -x
although a command like
tr -d ' ' < "${fofn}.passed_tmp" > "${fofn}.passed"
will look like
+ tr -d ' '
If I start up sh from my original c-shell and then run pregap, it works
fine. Pregap started from the cshell gives erratic results. It will get
to different parts of the script successfully without editing the script
from one time to another.
: Please don't! Csh is a terrible language. I wouldn't claim it to be the
: "usual" shell either as all systems I know of have both sh and csh.
We use tcsh which has command line editing and easy access to history
commands with the up and down arrow keys. That part is great for computer
phobes and neophytes using character based commands with lots of options.
: If you
: really want to know why I detest csh so much try working out how many 'A's
: "repeat 3 repeat 3 echo A" would print.
answer 5 3 + 3 - 1(for good luck) = 5
: Or tell me why the following can't be
: done on a single line "if ($?some_variable) echo $some_variable".
if ($?some_variable == 1) echo $some_variable # that works for me
: I know csh
: has some useful features, but as far as a language goes it's poor (in my
: opinion).
I am sure you are right that it is a poor language, but I have been able
to get my c-shell scripts to perform consistently (although sometimes
consistently bad) and when I run pregap, a Bourne shell script within
my login c-shell, it does not work all the time.
It surely is the c-shell or the old operating system and not the
script, but it does not work consistently. I now realize that I can work
around this by starting up sh, but I wanted to see if I could fix it for
others who do not use computers very easily. When I leave here I would
like anyone else in the lab to be able to sit down and use your
programs with the least amount of effort.
: James
: --
: James Bonfield (jkb at mrc-lmb.cam.ac.uk) Tel: 01223 402499 Fax: 01223 412282
: Medical Research Council - Laboratory of Molecular Biology,
: Hills Road, Cambridge, CB2 2QH, England.
: Also see Staden Package WWW site at http://www.mrc-lmb.cam.ac.uk/pubseq/
Thank you very much for your suggestions,
|--------------------------------------------------------------------|
| Stephen Baird sbaird at mgcheo.med.uottawa.ca |
| Molecular Genetics tel: 613-738-3925 |
| Children's Hospital of Eastern Ontario fax: 613-738-4833 |
| 401 Smyth Rd. |
| Ottawa, Ontario |
| Canada |
| K1H 8L1 |
|--------------------------------------------------------------------|