Visit Our UNIX and Linux User Community


saving command output to a variable


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers saving command output to a variable
# 1  
Old 01-20-2009
saving command output to a variable

Hello,

I have a shell script containing a command string in the following format:

command1 | command2 | cut -c9-16

The output from this is a record number (using characters 9-16 of the original output string) e.g. ORD-1234
I wish to save this value to a variable for use in later commands within the same script.

If I run the commands without defining the variable it runs OK and returns the correct number to the screen.
I tried doing var1=`command1 | command2 | cut -c9-16`
but I kept getting some syntax errors (probably due to the fact that command 1 does an echo of a long string of characters containing lots of ^ as field delimiters)

Please can anyone suggest the best way to do this?

Many thanks
# 2  
Old 01-20-2009
Tools An alternate format you might be able to use

Code:
var1=$(command1 | command2 | cut -c9-16)

# 3  
Old 01-20-2009
I get this error message:
syntax error at line 4: `var1=' unexpected
# 4  
Old 01-20-2009
Question Need to see more detail, and not just 'command'

What is the output from that line you are looking to capture? Is it just a number, a string of text, are there carriage return/line feeds?

Can you provide a section of the script (this is at line 4) and the actual line you are typing.
# 5  
Old 01-20-2009
The output I am trying to capture is in the format "ORD-1234" where the numbers will depends on the record number. it will be 4 digits after the ORD-
There shouldn't be a carriage return.

the command on line 4 that works at present is:
echo "string" | dbserver -h -s | cut -c9-16

where dbserver is a program-specific utility to export data from a specialised database program we have running on the server.
The "string" contains data/commands in a specific coded format that the dbserver program can execute, and this exports another string. the Cut command then outputs characters 9-16 in the format shown above.
This runs OK until I try to assign the output to a variable.
 

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Saving Mod in a variable

Hello Experts, In one of my shell script, I've been trying to calculate mod and saving it in a variable, below is what I have tried but it isn't working. Any help appreciated!!! #!/bin/bash num1=4 num2=3 echo "Number one is $num1" echo "Number two is $num2" mod_final=$(( echo "num1%num2"... (7 Replies)
Discussion started by: mukulverma2408
7 Replies

2. Shell Programming and Scripting

sed command is saving output as blank file

Hi, I am working on a script where I am adding adding colors to few of the info in the output. Now , after that is done , I see colour codes in log files which I don't want to see.:mad::mad::mad::mad: So , I tried using sed command in script as below which gives me o/p (new.log) as blank file... (7 Replies)
Discussion started by: Dream4649
7 Replies

3. Shell Programming and Scripting

Saving files with file name as output

Hi, i need help with a file creation of an output program. I've got a program that with #find creates an output for each files in a directory. If i give this command : -o spec$(date -u +%Y%m%dt%H%M) it creates just one file, overwriting all the others since it is the creation date .... (2 Replies)
Discussion started by: Board27
2 Replies

4. Shell Programming and Scripting

saving output from bash into a file

I am ssh to many servers to get some information... however sometimes the server is unreacheable and i am getting an error. I want to save that output to a file but I am not able to do so... I want to be able to save output of bash into a file.. so when I run this command on a script ssh... (5 Replies)
Discussion started by: eponcedeleonc
5 Replies

5. UNIX for Dummies Questions & Answers

Saving a temporary output within a script

Good morning everyone, i am looking to know how to save the output of a command and reuse it again within a script i already tired this one but it didn't work TEMPDIR=/dir1/dir2 My_command> $TEMPDIR/$TEMPFILE rm $TEMPDIR/$TEMPFILE* it keeps saying "cannot write to a... (15 Replies)
Discussion started by: Portabello
15 Replies

6. Shell Programming and Scripting

Trouble saving variable

Hi, I have problems when you save a variable of a command. I have put the following line: CONEXION_BAGDAD = $ (grep-c "Please login with USER and PASS" $ LOG_FILE_BAGDAD) But I returned the following error: syntax error at line 67: `CONEXION_BAGDAD = $ 'unexpected Because it can happen?... (2 Replies)
Discussion started by: danietepa
2 Replies

7. Programming

Command output into a variable

Hi, with this command: cu -l /dev/ttyACM0 -s 9600 > name.txt I put the output of the port in a txt Is posible to do the same (or similar) in a var directly, inside a C program? cu -l /dev/ttyACM0 -s 9600 > variable ? I have trying this withs pipes, but i dont know how to... (6 Replies)
Discussion started by: daaran
6 Replies

8. Shell Programming and Scripting

Saving output from awk into a perl variable

How would I pass awk output to a perl variable? For example, I want to save the value in the 4th column into the variable called test. My best guess is something as follow, but I am sure this isn't correct. $test = system("awk '/NUMBER/{print \$4}' $_"); (8 Replies)
Discussion started by: userix
8 Replies

9. Shell Programming and Scripting

Assigning output of command to a variable

Hi, I'm trying to assign the output of a command to a variable and then concat it with another string, however, it keeps overwriting the original string instead of adding on to the end of the string. Contents of test.txt --> This is a test var1="`head -n 1 test.txt`" echo $var1 (This is a... (5 Replies)
Discussion started by: oma04
5 Replies

10. Shell Programming and Scripting

Command output to a variable.

With cut -c 8-13 myfile, I am getting some numeric value. In my shell script I am trying to assign something like this, var=cut -c 8-13 myfile But at the time of execution I am getting -c is not found. If I dont assign, then script executes well. Can we not simply use the value from one... (8 Replies)
Discussion started by: videsh77
8 Replies

Featured Tech Videos