Sponsored Content
Top Forums Shell Programming and Scripting translate a short csh script to bash Post 302452617 by rockytodd on Sunday 12th of September 2010 02:34:07 AM
Old 09-12-2010
BASH help: translate a short csh script to bash

Hi,

I have a csh:

Code:
  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:

Code:
NODES = `cat $HOST_FILE`
NODELIST = $TMPDIR/namd2.nodelist
echo group main > NODELIST1
for  node in $NODES
do
    echo host $node >> $NODELIST
done
NUMPROCS = 2 * $#NODES

The script basically capture each line of file $NODELIST and add 'host' to the beginning of each line.
Can some please help to fix my translation?
Your time is greatly appreciated!
Todd

Last edited by Scott; 09-12-2010 at 08:16 AM.. Reason: Added code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

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... (4 Replies)
Discussion started by: Kweekwom
4 Replies

2. Shell Programming and Scripting

how to make your bash script run on a machine with csh and bash

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

3. Shell Programming and Scripting

translate ksh code to csh code

hi all, Can any 1 help me translate this korn shell code to C shell code : email=$(grep "^$1" $folder/config_2.txt | awk '{print $2'}) In config_2.txt the content is : which mean in korn shell , $1=groupname and $2=email address. Now i need to write in C shell script,when i set the... (2 Replies)
Discussion started by: proghack
2 Replies

4. Shell Programming and Scripting

How to run a bash script in csh shell?

Hi how to execute a bash script in csh shell? Thanks (3 Replies)
Discussion started by: rubinovito
3 Replies

5. Shell Programming and Scripting

Need a script to convert csh to bash

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

Translate csh to ksh

Hi! I need to translate those line in csh (to initialise variable) into ksh construct. Any help would be appreciated! I don't know how to replace them :( Thanks Hulu setenv TestHul "$0 $*" setenv JG `setenvp "JG" "" "$*"` setenv A_1 `setenvp "A_1" "NA" "$*"` Please use next time... (2 Replies)
Discussion started by: patator67
2 Replies

7. Shell Programming and Scripting

Changing script from csh to bash

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

8. Shell Programming and Scripting

Converting awk script from bash to csh

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

9. Shell Programming and Scripting

Csh , how to set var value into new var, in short string concatenation

i try to find way to make string concatenation in csh ( sorry this is what i have ) so i found out i can't do : set string_buff = "" foreach line("`cat $source_dir/$f`") $string_buff = string_buff $line end how can i do string concatenation? (1 Reply)
Discussion started by: umen
1 Replies

10. Shell Programming and Scripting

Translate bash mathematical calculation to awk

this code below is very useful in calculating mean and quartiles. however, i would really like to translate it to awk without having to write to any external file: #!/bin/sh filename="tmp.txt" sort -n $1 >$filename rows=`wc -l $filename|cut -d' ' -f1` q2=`echo "($rows+1)/2" |bc` ... (3 Replies)
Discussion started by: SkySmart
3 Replies
ONNODE(1)																 ONNODE(1)

NAME
onnode - run commands on ctdb nodes SYNOPSIS
onnode [OPTION] ... NODES COMMAND ... DESCRIPTION
onnode is a utility to run commands on a specific node of a CTDB cluster, or on all nodes. The NODES option specifies which node to run a command on. You can specify a numeric node number (from 0 to N-1) or a descriptive node specification (see DESCRIPTIVE NODE SPECIFICATIONS below). You can also specify lists of nodes, separated by commas, and ranges of numeric node numbers, separated by dashes. If nodes are specified multiple times then the command will be executed multiple times on those nodes. The order of nodes is significant. The COMMAND can be any shell command. The onnode utility uses ssh or rsh to connect to the remote nodes and run the command. DESCRIPTIVE NODE SPECIFICATIONS
The following descriptive node specification can be used in place of numeric node numbers: all All nodes. any A node where ctdbd is running. This semi-random but there is a bias towards choosing a low numbered node. ok | healthy All nodes that are not disconnected, banned, disabled or unhealthy. con | connected All nodes that are not disconnected. lvs | lvsmaster The current LVS master. natgw | natgwlist The current NAT gateway. rm | recmaster The current recovery master. OPTIONS
-c Execute COMMAND in the current working directory on the specified nodes. -o <prefix> Causes standard output from each node to be saved into a file with name <prefix>.<ip>. -p Run COMMAND in parallel on the specified nodes. The default is to run COMMAND sequentially on each node. -q Do not print node addresses. Normally, onnode prints informational node addresses if more than one node is specified. This overrides -v. -n Allow nodes to be specified by name rather than node numbers. These nodes don't need to be listed in the nodes file. You can avoid the nodes file entirely by combining this with -f /dev/null. -f <file> Specify an alternative nodes file to use instead of the default. This option overrides the CTDB_NODES_FILE environment variable. See the discussion of /etc/ctdb/nodes in the FILES section for more details. -v Print a node addresses even if only one node is specified. Normally, onnode prints informational node addresses when more than one node is specified. -h, --help Show a short usage guide. EXAMPLES
The following command would show the process ID of ctdb on all nodes onnode all pidof ctdbd The following command would show the last 5 lines of log on each node, preceded by the node's hostname onnode all "hostname; tail -5 /var/log/log.ctdb" The following command would restart the ctdb service on all nodes. onnode all service ctdb restart The following command would run ./foo in the current working directory, in parallel, on nodes 0, 2, 3 and 4. onnode -c -p 0,2-4 ./foo ENVIRONMENT
CTDB_NODES_FILE Name of alternative nodes file to use instead of the default. See the discussion of /etc/ctdb/nodes in the FILES section for more details. FILES
/etc/ctdb/nodes Default file containing a list of each node's IP address or hostname. Actually, the default is $CTDB_BASE/nodes, where $CTDB_BASE defaults to /etc/ctdb. If a relative path is given (via the -f option or $CTDB_BASE) and no corresponding file exists relative to the current directory then the file is also searched for in the $CTDB_BASE directory. /etc/ctdb/onnode.conf If this file exists it is sourced by onnode. The main purpose is to allow the administrator to set $SSH to something other than "ssh". In this case the -t option is ignored. For example, the administrator may choose to use use rsh instead of ssh. SEE ALSO
ctdbd(1), ctdb(1), http://ctdb.samba.org/ COPYRIGHT
/LICENSE Copyright (C) Andrew Tridgell 2007 Copyright (C) Ronnie sahlberg 2007 Copyright (C) Martin Schwenke 2008 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses/. 02/05/2010 ONNODE(1)
All times are GMT -4. The time now is 05:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy