07-10-2007
Converting bash script to csh
Hi,
I'm a beginner in scripting and I recently wrote a bash script that would've worked fine until I realized it needed to be written in csh. Could someone please show me how to correctly change the syntax from bash to csh in this script? Any help will be greatly appreciated. I can provide more details on the nature of the script if need be.
#!/bin/bash
print "Separating crashlist for today's date? (y/n)"
read choice
case $choice in
y)
crashlist > separate
;;
n)
echo "Please enter date (yyyymmdd)"
read date
crashlist -d $date > separate
;;
esac
whale ()
{
for host in "whale-1" "whale-2" "whale-3" "whale-4"
do
if grep $host separate
then
echo
echo
echo "Jobs above were lost on $host" ; echo ; echo "Total hours lost:"
grep $host separate | awk ' {sum += $11 }; END { print sum } '
echo
echo "Number of jobs lost:"
grep $host separate | awk 'END{print NR}'
echo -n Press Enter to continue ; read
echo
else
echo
echo
echo "No jobs lost on $host." ; echo ; echo -n Press Enter to continue ; read
echo
echo
echo
fi
done
}
dolphin ()
{
for host in "dolphin-1" "dolphin-2" "dolphin-3" "dolphin-4"
do
if grep $host separate
then
echo
echo
echo "Jobs above were lost on $host" ; echo ; echo "Total hours lost:"
grep $host separate | awk ' {sum += $11 }; END { print sum } '
echo
echo "Number of jobs lost:"
grep $host separate | awk 'END{print NR}'
echo -n Press Enter to continue ; read
echo
else
echo
echo
echo "No jobs lost on $host." ; echo ; echo -n Press Enter to continue ; read
echo
echo
echo
fi
done
}
if grep -q "whale" separate
then
whale
else
dolphin
fi
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hi,
i have a script that runs on bash and would like to run it on a machine that has csh and bash. the default setting on that machine is csh. i dont want to change my code to run it with a csh shell. is there any way i can run the script (written in bash) on this machine? in other words is there... (3 Replies)
Discussion started by: npatwardhan
3 Replies
2. Shell Programming and Scripting
Hi,
I have a csh:
set NODES = `cat $HOST_FILE`
set NODELIST = $TMPDIR/namd2.nodelist
echo group main >! $NODELIST
foreach node ( $NODES )
echo host $node >> $NODELIST
end
@ NUMPROCS = 2 * $#NODES
I am very frustrated to translate it to bash:
NODES = `cat... (3 Replies)
Discussion started by: rockytodd
3 Replies
3. Shell Programming and Scripting
I am trying to call this python script
tdarwin.py -nxz=23x35
and should take the -nxz and take the values 23 and 35 to two variables. But am getting the error "option -n not recognized"
long_opts=
try:
optlist, args = getopt.getopt(sys.argv, "", long_opts)
... (2 Replies)
Discussion started by: kristinu
2 Replies
4. Shell Programming and Scripting
Hi
how to execute a bash script in csh shell?
Thanks (3 Replies)
Discussion started by: rubinovito
3 Replies
5. Shell Programming and Scripting
Hi,
Can anyone give me a script to convert csh to bash? or any key points which can help me to do so as i am new to it. (3 Replies)
Discussion started by: vineet.dhingra
3 Replies
6. Shell Programming and Scripting
Hi all,
I need a script to do some date/time conversion. It should take as an input a particular time. It should then generates a series of offsets, in both hour:minute form and number of milliseconds elapsed.
For 03:00, for example, it should give back 04:02:07 (3727000ms*) 05:04:14... (2 Replies)
Discussion started by: emdan
2 Replies
7. Shell Programming and Scripting
#!/bin/sh
# $Header: hot_database_backup.sh,v 1.2 2002/08/06 23:51:42 $
#
#bcpyrght
#***************************************************************************
#* $VRTScprght: Copyright 1993 - 2007 Symantec Corporation, All Rights Reserved $ *... (2 Replies)
Discussion started by: apade
2 Replies
8. Shell Programming and Scripting
Hello Guys
I have a script working fine on csh, but I would like to change it to bash, how I should change this command to be able to work as bash script. :wall:
if ( $fsw > "0" ) then
foreach swath ( `awk 'BEGIN {for (i='$fsw';i<='$lsw';i++) printf ("%s\n", i) }'` )
## work to be done... (2 Replies)
Discussion started by: jiam912
2 Replies
9. Shell Programming and Scripting
I have the following script set up and working properly in bash. It basically copies a set of lines which match "AS1100002" from one file and replaces the same lines in another file.
awk -vN=AS1100002* 'NR==FNR { if($1 ~ N)K=$0; next }
{ if($1 in K) $0=K; print }' $datadir/file1... (7 Replies)
Discussion started by: ncwxpanther
7 Replies
10. Shell Programming and Scripting
Gents,
Please can you help me with this.
When column 49 == 2
Before
X 4714 14710 69445.00 19257.001 1218 12271 69596.00 19460.00 19478.001
X 4714 14710 69445.00 19257.001 1228 12292 69596.00 19480.00 19480.001
After
X 4714 14710 69445.00 19257.001 1218... (1 Reply)
Discussion started by: jiam912
1 Replies
ECHO(3) 1 ECHO(3)
echo - Output one or more strings
SYNOPSIS
void echo (string $arg1, [string $...])
DESCRIPTION
Outputs all parameters.
echo is not actually a function (it is a language construct), so you are not required to use parentheses with it. echo (unlike some other
language constructs) does not behave like a function, so it cannot always be used in the context of a function. Additionally, if you want
to pass more than one parameter to echo, the parameters must not be enclosed within parentheses.
echo also has a shortcut syntax, where you can immediately follow the opening tag with an equals sign. Prior to PHP 5.4.0, this short syn-
tax only works with the short_open_tag configuration setting enabled.
I have <?=$foo?> foo.
PARAMETERS
o $arg1
- The parameter to output.
o $...
-
RETURN VALUES
No value is returned.
EXAMPLES
Example #1
echo examples
<?php
echo "Hello World";
echo "This spans
multiple lines. The newlines will be
output as well";
echo "This spans
multiple lines. The newlines will be
output as well.";
echo "Escaping characters is done "Like this".";
// You can use variables inside of an echo statement
$foo = "foobar";
$bar = "barbaz";
echo "foo is $foo"; // foo is foobar
// You can also use arrays
$baz = array("value" => "foo");
echo "this is {$baz['value']} !"; // this is foo !
// Using single quotes will print the variable name, not the value
echo 'foo is $foo'; // foo is $foo
// If you are not using any other characters, you can just echo variables
echo $foo; // foobar
echo $foo,$bar; // foobarbarbaz
// Some people prefer passing multiple parameters to echo over concatenation.
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);
echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "
";
echo <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!
END;
// Because echo does not behave like a function, the following code is invalid.
($some_var) ? echo 'true' : echo 'false';
// However, the following examples will work:
($some_var) ? print 'true' : print 'false'; // print is also a construct, but
// it behaves like a function, so
// it may be used in this context.
echo $some_var ? 'true': 'false'; // changing the statement around
?>
NOTES
Note
Because this is a language construct and not a function, it cannot be called using variable functions.
SEE ALSO
print(3), printf(3), flush(3), Heredoc syntax.
PHP Documentation Group ECHO(3)