Passing a variable to #BSUB -n in a LSF file

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Passing a variable to #BSUB -n in a LSF file
# 1  
Old 08-15-2011
Bug Passing a variable to #BSUB -n in a LSF file

Hi There!

I'm writing this LSF script to make it easier to send jobs to a cluster when varying certain parameters. At one point I'd like to do something like:

set NPROC = 10

and later on call BSUB using something like:


unfortunately for me, this throws an error:

Bad argument for option -n. Job not submitted.

Anyone with an idea on how to pass BSUB a variable? With this example it sounds sort of roundabout, but sometimes you want to do some arithmetic with $NPROC before passing it to #BSUB and then being able to do it this way may be something very useful.


---------- Post updated at 06:01 PM ---------- Previous update was at 05:57 PM ----------

Sorry, I read the post back and I wanted to make sure the problem is clear, this works straight away:

#BSUB -n 10

This doesn't work

set NPROC = 10

# 2  
Old 08-15-2011
What is your system? What is your shell?

Most shells don't allow whitespace wherever you want like that.

VAR = "stuff"

This User Gave Thanks to Corona688 For This Post:
# 3  
Old 08-16-2011
Thanks for your help Corona688, I'm sorry, using -tcsh on RedHat.

I think the problem is more related with #BSUB itself, because in some other part of the code I have things like:

#! bin/tcsh -f

set VAR_1 = 5
set VAR_1 = 10

@ sum = VAR_1 + VAR_2

and that works alright

---------- Post updated 08-16-11 at 10:05 AM ---------- Previous update was 08-15-11 at 07:32 PM ----------

I can't post links yet, but if you google bsub you'll find its man page straight away.

It can accept commands through the command line like:

>bsub -n 10

or through standard input doing

>bsub < myscript.lsf

they way bsub reads commands from standard input is by including the keyword #BSUB on the file, so you would have to write on it:

#! /bin/tcsh -f
#BSUB -n 10

I think that the problem is that when I write inside myfile.lsf:

#! /bin/tcsh -f
set NPROC = 10

The variable $NPROC is being read as a string on standard input, instead of as a variable.

anyone with an idea of how to solve this? I'm running red had linux and TC shell

# 4  
Old 08-16-2011
There are lots of very good reasons not to program in TCSH. If you're not being forced to use it, I'd suggest learning the Bourne shell.

But meanwhile, this syntax works both in BASH and TCSH:
./command <<EOF
stuff to feed into command's stdin
This can include $VARIABLES and `commands`

The final EOF must be at the beginning of the line with NO spaces in front.

Last edited by Corona688; 08-16-2011 at 03:32 PM..
# 5  
Old 08-17-2011

Thanks again.

I do not think I have understood your suggestion properly enough to apply it.

Should I do something like:

>set NPROC = 10
>bsub <<$NPROC < base.lsf

and then in base.lsf just do something like:

#! /bin/tcsh


That doesn't even make sense to me. If you could please be more explicit on your suggestion so I can understand it that would be very helpful. Thanks!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Passing a file name to a variable

Below is the command mv AP_FLEXCUBE_INTERFACE10.txt FTPYMNTE_`date "+%Y%m%d%H%M%S" | tr '' ''`.TXT it is changing the file name to a different name according to time stamp dynamically. I want to capture that dynamic file name present in the directory to a variable . After that i want to... (6 Replies)
Discussion started by: sujit das
6 Replies

2. Shell Programming and Scripting

How to create a variable without multiple concats in a perl scripts that makes a bsub?

The red text at the bottom represents the three lines I want to address. I'm dynamically creating a bsub with a perl script and would like to create the fasta_16S variable in a single line....not three. I'm having difficulty in getting the syntax correct. Obviously, there is some confusion... (3 Replies)
Discussion started by: jdilts
3 Replies

3. Shell Programming and Scripting

Passing Shell variable from file to another command

Hi all, I have a file looks like AAAA 111 BBBB 222 CCCC 333 need to pass variable value like var1=AAAA and var2=111 to another command for three times with next values. stuck over here cat file | while read line do export var1=`awk '{print $1}'` echo $var1 export var2=`cat file... (3 Replies)
Discussion started by: rakeshtomar82
3 Replies

4. Shell Programming and Scripting

Passing variable from file to Oracle

cat a1 scott robert tom test script : #!/usr/bin/ksh for NAME in `cat a1` do VALUE=`sqlplus -silent "nobody/bobody01@testq" <<END set pagesize 0 feedback off verify off heading off echo off select username from dba_users where username=upper('$NAME'); END` if ; then echo... (3 Replies)
Discussion started by: jhonnyrip
3 Replies

5. Shell Programming and Scripting

Passing variable as a file-Scripting Help

Hi Guys, i have a file where data is in the below format:: data1 data2 data3 data4 data4 data6 my script written as:: #!/bin/ksh cd $1 at now <<END sh $2 END Here i want to pass the values stored in the above file one by one till the end of line. Here if i am doing it as:: (2 Replies)
Discussion started by: Atp3530
2 Replies

6. Programming


All, I have a log file containing lots of data now i want to extract all text between block below(names) without the title or end pattern but only names, ++++START++++ SCOTT TIGER HENRY PAUL JARED OTIENO OMOLLO JA NIGERIA ++++END++++ the names i want to return and store in a variable in... (1 Reply)
Discussion started by: Scott2000
1 Replies

7. Shell Programming and Scripting

passing file extension using external variable

Hi, How can I modify the FILETYPE command ? I want to provide the file extension, like txt, root .? Thanks, #!/bin/bash FROM=$1 TO=$2 FILETYPE=$3 ... (4 Replies)
Discussion started by: nrjrasaxena
4 Replies

8. Shell Programming and Scripting

passing variable to another file and replacing

Hi all, I have a script in file1 which gets input from the user say variable "TYPE". This variable is present in the other file2. I want to replace the variable in the file2 with the value given by the user and print the file. How can I achieve this task? file1 code echo "Give... (3 Replies)
Discussion started by: Ananthdoss
3 Replies

9. Shell Programming and Scripting

Passing output to variable instead of file

Hi, In normal shell scripting, how do you pass the output of a command to a variable, instead of a file and be able to use it later? The code is: #!/bin/bash who | cut -d" " -f1 > onlineusers Instead of passing the output of the above command to the file called 'onlineusers'... (1 Reply)
Discussion started by: Furqan_79
1 Replies

10. UNIX for Advanced & Expert Users

passing unix variable to sqlplus without a file name

Hi, I want to input unix variable to sqlplus.The following is working fine sqlplus username/password @dummy.sql param1 param2 << EOF create user $1 identified by $2; EOF But I dont want any file name to be passed,I just want to pass the parameter. Is there any way to that?? Thanks... (3 Replies)
Discussion started by: sakthi.abdullah
3 Replies
Login or Register to Ask a Question