Need help on 2>&1


 
Thread Tools Search this Thread
Operating Systems Linux Need help on 2>&1
# 1  
Old 11-28-2011
Need help on 2>&1

I need help. I'm trying to have the out of en error not only show up on the screen , but also be copied into a file.

This is part of my script
Code:
file="`date +%b_%d_%y:%H:%M:%S`"
touch $file | mv $file ~/errors/idtoolerrorlogs | cp ~/errors/idtoolerrorlog ~/errors/idtoolerrorlogs/$file
 
 
~/errors/idtoolerrorlog > ~/errors/idtoolerrorlogs/$file 2>&1

All this does is print the result on the screen. But it does not print in the file. Any thoughts

Last edited by Scott; 11-29-2011 at 09:24 AM.. Reason: Code tags
# 2  
Old 11-28-2011
You can pipe your command to tee so you get output on screen and also on a file.

Code:
<some commands> 2>&1 | tee log.out

# 3  
Old 11-28-2011
With 2>&1 you are redirecting STDERR to STDOUT. From the first look of the script, it seems to be broken. Can you please post the whole script with CODE tag around it? I do not see anything where you are feeding errors to STDERR.

Code:
~/errors/idtoolerrorlog > ~/errors/idtoolerrorlogs/$file 2>&1

The above line should not work as idtoolerrorlog is a text file and you need to use cat command to print its content and then redirect.

Please post the full script to help you better.
# 4  
Old 11-29-2011
The whole script

Code:
#!/bin/bash
 
#Linux Script
 
echo "`date +%D:%H:%M:%S`" ; read -p " User ID"= UserID
 
echo "`date +%D:%H:%M:%S`" ; read -p "Enter Server(s)"= servertext && echo $servertext > serverlist
 
cat serverlist
for i in `cat serverlist`
do
echo "$i"
 
echo "`date +%D:%H:%M:%S`" ; ssh -t -t $i id $UserID
 
cat /dev/null > serverlist
 
file="`date +%b_%d_%y:%H:%M:%S`"
 
touch $file | mv $file ~/errors/idtoolerrorlogs | cp ~/errors/idtoolerrorlog ~/errors/idtoolerrorlogs/$file
 
~/errors/idtoolerrorlog ~/errors/idtoolerrorlogs/test 
 
 done


Last edited by Scott; 11-29-2011 at 09:25 AM.. Reason: Please use code tags
# 5  
Old 11-29-2011
Code:
echo "`date +%D:%H:%M:%S`" ; ssh -t -t $i id $UserID

You are forcing to allocate tty on remote server for ssh session; have you configured ssh key sharing?

Code:
cat /dev/null > serverlist

What is the point of including this in the loop? I don't see any point of zeroing out a file again and again in a loop.

Code:
touch $file | mv $file ~/errors/idtoolerrorlogs | cp ~/errors/idtoolerrorlog ~/errors/idtoolerrorlogs/$file

Combining commands using pipe!! I have not seen anyone using pipe for this sort of thing. Plus, with this, commands are executed right-to-left. Have you ever considered using "&&" instead?

Code:
~/errors/idtoolerrorlog ~/errors/idtoolerrorlogs/test

I do not see idtoolerrorlog a script file or a binary executable. How do you even expect this to be working? Are you trying to copy the idtoolerrorlog file to test? If yes, where is the cp command in front?

Ohh yes, by some magical way, the code that you posted earlier (pasted below) vanished!! I am wondering why!!
Code:
~/errors/idtoolerrorlog > ~/errors/idtoolerrorlogs/$file 2>&1

No offense buddy, but, the script seems to be pointless and error prone from top to bottom.

Can you tell me what exactly you are trying to do? Maybe I can write the script for you.
# 6  
Old 11-30-2011
I took a look at my script yesterday and I revised it.

!/bin/bash

Linux Script
Code:
 echo "`date +%D:%H:%M:%S`" ; read  -p  " User ID"= UserID

  echo "`date +%D:%H:%M:%S`" ; read -p "Enter Server(s)"= servertext && echo $servertext > serverlist

  cat serverlist
  for i in `cat serverlist`
                        do
         echo "$i"
echo "`date +%D:%H:%M:%S`" ;  ssh -t -t $i id $UserID

 cat /dev/null > serverlist
 
 file="`date +%b_%d_%y:%H:%M:%S`"

 touch $file 

 mv $file ~/errors/idtoolerrorlogs  

~/idtool  2>  ~/errors/idtoolerrorlogs/$file 
 
 
 

                      done

To answer to some of your questions:


Code:
echo "`date +%D:%H:%M:%S`" ; ssh -t -t $i id $UserID

You are forcing to allocate tty on remote server for ssh session; have you configured ssh key sharing?


I don't have rights on the to configure ssh key sharing

Code:
cat /dev/null > serverlist

What is the point of including this in the loop? I don't see any point of zeroing out a file again and again in a loop.

I'm try to delete the contents of serverlist.


What I posted before is what I need help. But if you'd like to build me a new script, please feel free.

---------- Post updated at 01:20 PM ---------- Previous update was at 01:11 PM ----------

Sorry. The script is :



took a look at my script yesterday and I revised it.
Code:
#!/bin/bash

#Linux Script

echo "`date +%D:%H:%M:%S`" ; read -p " User ID"= UserID

echo "`date +%D:%H:%M:%S`" ; read -p "Enter Server(s)"= servertext && echo $servertext > serverlist

cat serverlist
for i in `cat serverlist`
do
echo "$i"
echo "`date +%D:%H:%M:%S`" ; ssh -t -t $i id $UserID

cat /dev/null > serverlist

file="`date +%b_%d_%y:%H:%M:%S`"

touch $file 

mv $file ~/errors/idtoolerrorlogs 

~/idtool 2> ~/errors/idtoolerrorlogs/$file


Last edited by Scott; 12-01-2011 at 02:21 PM.. Reason: Code tags
# 7  
Old 11-30-2011
There is lots of redundancy and pointless things in here.

Code:
#!/bin/bash

#Linux Script

echo "`date +%D:%H:%M:%S`" ; read -p " User ID"= UserID

# You don't need a file.
# echo "`date +%D:%H:%M:%S`" ; read -p "Enter Server(s)"= servertext && echo $servertext > serverlist

echo "`date +%D:%H:%M:%S`"
read -p "Enter Server(s)"= servertext

# Just use the variable itself.  That's what it's there for.
for i in $servertext
do
        echo "$i"
        echo "`date +%D:%H:%M:%S`"
        ssh -t -t $i id $UserID
        file="`date +%b_%d_%y:%H:%M:%S`"

        # You don't need to touch the file.
        # touch $file 
        # You don't need to move the file.
        # mv $file ~/errors/idtoolerrorlogs

        # This is all that's needed.
        ~/idtool 2> ~/errors/idtoolerrorlogs/$file

        # If you want it to append, not overwrite, do this:
        # ~/idtool 2>> ~/errors/idtoolerrorlogs/$file
done

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SFTP Shell Script Get & Delete && Upload & Delete

Hi All, Do you have any sample script, - auto get file from SFTP remote server and delete file in remove server after downloaded. - only download specify filename - auto upload file from local to SFTP remote server and delete local folder file after uploaded - only upload specify filename ... (3 Replies)
Discussion started by: weesiong
3 Replies

2. Shell Programming and Scripting

GNU & BSD Makefile Directives & Conditions Compatibility

Firstly, I would like to apologize if this is not the appropriate sub-forum to post about GNU/BSD makefile scripting. Though my code is in C++, because I am focusing on the makefile I thought it would go better in shell scripting. Please correct me if I am wrong. Secondly, I am not interested in... (0 Replies)
Discussion started by: AntumDeluge
0 Replies

3. Shell Programming and Scripting

Sort a the file & refine data column & row format

cat file1.txt field1 "user1": field2:"data-cde" field3:"data-pqr" field4:"data-mno" field1 "user1": field2:"data-dcb" field3:"data-mxz" field4:"data-zul" field1 "user2": field2:"data-cqz" field3:"data-xoq" field4:"data-pos" Now i need to have the date like below. i have just... (7 Replies)
Discussion started by: ckaramsetty
7 Replies

4. Shell Programming and Scripting

Replace & sign to &amp word

Hi, I have text file abc.txt. In this file, I have the following data. Input: Mr Smith &amp Mrs Smith Mr Smith &apos Mrs Smith Mr Smith & Mrs Smith Mr Smith& Mrs Smith Mr Smith &Mrs Smith Output: Mr Smith &amp Mrs Smith Mr Smith &apos Mrs Smith Mr Smith &amp Mrs Smith Mr Smith&amp... (4 Replies)
Discussion started by: naveed
4 Replies

5. Shell Programming and Scripting

replace & with &amp; xml file

Hello All I have a xml file with many sets of records like this <mytag>mydata</mytag> <tag2>data&</tag2> also same file can be like this <mytag>mydata</mytag> <tag2>data&</tag2> <tag3>data2&amp;data3</tag3> Now i can grep & and replace with &amp; for whole file but it will replace all... (4 Replies)
Discussion started by: lokaish23
4 Replies

6. Shell Programming and Scripting

PHP read large string & split in multidimensional arrays & assign fieldnames & write into MYSQL

Hi, I hope the title does not scare people to look into this thread but it describes roughly what I'm trying to do. I need a solution in PHP. I'm a programming beginner, so it might be that the approach to solve this, might be easier to solve with an other approach of someone else, so if you... (0 Replies)
Discussion started by: lowmaster
0 Replies

7. Shell Programming and Scripting

Find & Replace string in multiple files & folders using perl

find . -type f -name "*.sql" -print|xargs perl -i -pe 's/pattern/replaced/g' this is simple logic to find and replace in multiple files & folders Hope this helps. Thanks Zaheer (0 Replies)
Discussion started by: Zaheer.mic
0 Replies

8. UNIX for Dummies Questions & Answers

Problem with xterm & tcsh & sourcing a script in a single command

Hi friends, I have a script that sets the env variable path based on different conditions. Now the new path variable setting should not done in the same terminal or same shell. Only a new terminal or new shell should have the new path env variable set. I am able to do this only as follows: >cd... (1 Reply)
Discussion started by: sowmya005
1 Replies

9. UNIX for Dummies Questions & Answers

Search for & edit rows & columns in data file and pipe

Dear unix gurus, I have a data file with header information about a subject and also 3 columns of n rows of data on various items he owns. The data file looks something like this: adam peter blah blah blah blah blah blah car 01 30 200 02 31 400 03 57 121 .. .. .. .. .. .. n y... (8 Replies)
Discussion started by: tintin72
8 Replies

10. Shell Programming and Scripting

creating & sending formatted (with bolds & colors) CSV

Hi , I have a situation. Need is to create & send a formatted file with header in BOLD & colored & some sequel results as a content. I know echo -e \033 command, but its scope is limited in PUTTY. How to retain the formatting out of Putty; say after someone opens a email attachment... (2 Replies)
Discussion started by: infaWorld
2 Replies
Login or Register to Ask a Question