Sponsored Content
Full Discussion: question on redirection (<<)
Top Forums Shell Programming and Scripting question on redirection (<<) Post 302072425 by newkidintown on Tuesday 2nd of May 2006 06:33:20 PM
Old 05-02-2006
question on redirection (<<)

I came across the following problem, where file contents are overwritten using redirection. Can somebody please explain what cat << BAR seems to be doing and say why this is a problem? Explain the contents and relation between the two filenames used before the cat command. thanks


/tmp# echo 'hello world' > rootfile
/tmp# chmod 600 rootfile
/tmp# ln -s rootfile sh$$
/tmp# chown -h 666.666 sh$$
/tmp# ls -l rootfile sh$$
-rw------- 1 root root 12 Oct 29 03:55 rootfile
lrwxrwxrwx 1 666 666 8 Oct 29 03:56 sh12660 -> rootfile
/tmp# cat <<BAR
? FOO
? BAR
FOO
o world
/tmp# ls -l rootfile sh$$
/bin/ls: sh12660: No such file or directory
-rw------- 1 root root 12 Oct 29 03:56 rootfile
/tmp# cat rootfile
FOO
o world
/tmp#
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

input redirection question

Hi, in my script I need to execute the following command: query $id 456 432 but it waits for a RETURN character from keyboard and therefore, it fails. I tried something like: query $id 456 432 << '\n' but, i'ts clear it is not correct. Is there any way to do this? Thxs. (0 Replies)
Discussion started by: luistid
0 Replies

2. Shell Programming and Scripting

File redirection question

Hi all, I am working with the Grinder tool (unrelated to my question) to redirect the output of a program to a file as follows: java -cp $CLASSPATH net.grinder.TCPProxy > grinder.txt This is a proxy server which pipes output to a file. When I do something on my proxy, more and more goes to... (1 Reply)
Discussion started by: Annorax
1 Replies

3. Shell Programming and Scripting

BASH Problem / Question regarding redirection

Hi all, Maybe someone is able to help: Need to redirect the output of a command in realtime to a second command. Command-A executes a remote shell to another host, and outputs its results. Command-B displays a "dialog" with the outputs of Command-A. Command-A Output: Updating FileA... (2 Replies)
Discussion started by: mharald
2 Replies

4. Shell Programming and Scripting

Redirection Question

I just wondered if I'm understanding this command line correctly cat 2>save1 0<memo | sort 2>save2 1>letter This means that stdin will read from memo and if there is an error then stderr will write to save1. Am I correct in saying that the sort command will sort the memo file and write... (2 Replies)
Discussion started by: snag49ers
2 Replies

5. Shell Programming and Scripting

Question about IO redirection

for shell operators like <, >, <<, and >> do the LHS always have to be a process or device and the RHS a file or device? Is it possible for the RHS to be a process? (1 Reply)
Discussion started by: stevenswj
1 Replies

6. Shell Programming and Scripting

Redirection question

I want to redirect stderr and have the following peice of code $ cat t1.ksh #!/bin/ksh func2() { diff /tmp/jdlkwjdlkejew /tmp/djlkwejdlewdjew >$OUTPUT_FILE 2>>$ERR_FILE } func1() { let counter=0 while do print -u2 "Error: In main function" func2 let... (1 Reply)
Discussion started by: BeefStu
1 Replies

7. Shell Programming and Scripting

Error redirection question

Hi gurus, I have a question, need some of your inputs... I have a command like this : export LINE_COUNT=`wc -l test.dat | awk '{print $1}'` echo $LINE_COUNT --- > gives me 2 which is fine as the file has 2 lines. This works fine if the file test.dat is present but in case... (3 Replies)
Discussion started by: calredd
3 Replies

8. Shell Programming and Scripting

output redirection to existing file question

So I have a existing file that I used the uniq command on and I need to save the output to the same file without changing the file name. I have tried $ uniq filename > filename then when I cat the file it then becomes blank like there is nothing inside. any help would be much appreciated... (0 Replies)
Discussion started by: drew211
0 Replies

9. Shell Programming and Scripting

Shell script output redirection question

OS : AIX 6.1 Shell : Korn in the url https://forums.oracle.com/forums/thread.jspa?threadID=361463&tstart=0 I came across a crontab entry example 00 23 * * 1,3,5 <complete shell script path> 1> <log file> 2>&1 From googling , I gathered that 0 - stdin 1 - stdout 2 - stderr I... (5 Replies)
Discussion started by: polavan
5 Replies

10. UNIX for Beginners Questions & Answers

Question on bash redirection

Hi, Can I get some explanation around this bash redirection? From what I have read, x < y means call the shell to redirect the output of y into x. Does this mean that this sequence of commands is executed from right to left? diff <(sort testfile.txt) <(sort testfile2.txt) Thanks, edit... (2 Replies)
Discussion started by: sand1234
2 Replies
ln(1B)						     SunOS/BSD Compatibility Package Commands						    ln(1B)

NAME
ln - make hard or symbolic links to files SYNOPSIS
/usr/ucb/ln [-fs] filename [linkname] /usr/ucb/ln [-fs] pathname... directory DESCRIPTION
The /usr/ucb/ln utility creates an additional directory entry, called a link, to a file or directory. Any number of links can be assigned to a file. The number of links does not affect other file attributes such as size, protections, data, etc. filename is the name of the original file or directory. linkname is the new name to associate with the file or filename. If linkname is omitted, the last component of filename is used as the name of the link. If the last argument is the name of a directory, symbolic links are made in that directory for each pathname argument; /usr/ucb/ln uses the last component of each pathname as the name of each link in the named directory. A hard link (the default) is a standard directory entry just like the one made when the file was created. Hard links can only be made to existing files. Hard links cannot be made across file systems (disk partitions, mounted file systems). To remove a file, all hard links to it must be removed, including the name by which it was first created; removing the last hard link releases the inode associated with the file. A symbolic link, made with the -s option, is a special directory entry that points to another named file. Symbolic links can span file sys- tems and point to directories. In fact, you can create a symbolic link that points to a file that is currently absent from the file sys- tem; removing the file that it points to does not affect or alter the symbolic link itself. A symbolic link to a directory behaves differently than you might expect in certain cases. While an ls(1) on such a link displays the files in the pointed-to directory, an `ls -l' displays information about the link itself: example% /usr/ucb/ln -s dir link example% ls link file1 file2 file3 file4 example% ls -l link lrwxrwxrwx 1 user 7 Jan 11 23:27 link -> dir When you use cd(1) to change to a directory through a symbolic link, you wind up in the pointed-to location within the file system. This means that the parent of the new working directory is not the parent of the symbolic link, but rather, the parent of the pointed-to direc- tory. For instance, in the following case the final working directory is /usr and not /home/user/linktest. example% pwd /home/user/linktest example% /usr/ucb/ln -s /var/tmp symlink example% cd symlink example% cd .. example% pwd /usr C shell user's can avoid any resulting navigation problems by using the pushd and popd built-in commands instead of cd. OPTIONS
-f Force a hard link to a directory. This option is only available to the super-user, and should be used with extreme caution. -s Create a symbolic link or links. USAGE
See largefile(5) for the description of the behavior of ln when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes). EXAMPLES
Example 1 The /usr/ucb/ln command The commands below illustrate the effects of the different forms of the /usr/ucb/ln command: example% /usr/ucb/ln file link example% ls -F file link file link example% /usr/ucb/ln -s file symlink example% ls -F file symlink file symlink@ example% ls -li file link symlink 10606 -rw-r--r-- 2 user 0 Jan 12 00:06 file 10606 -rw-r--r-- 2 user 0 Jan 12 00:06 link 10607 lrwxrwxrwx 1 user 4 Jan 12 00:06 symlink -> file example% /usr/ucb/ln -s nonesuch devoid example% ls -F devoid devoid@ example% cat devoid devoid: No such file or directory example% /usr/ucb/ln -s /proto/bin/* /tmp/bin example% ls -F /proto/bin /tmp/bin /proto/bin: x* y* z* /tmp/bin: x@ y@ z@ ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWscpu | +-----------------------------+-----------------------------+ SEE ALSO
cp(1), ls(1), mv(1), rm(1), link(2), readlink(2), stat(2), symlink(2), attributes(5), largefile(5) NOTES
When the last argument is a directory, simple basenames should not be used for pathname arguments. If a basename is used, the resulting symbolic link points to itself: example% /usr/ucb/ln -s file /tmp example% ls -l /tmp/file lrwxrwxrwx 1 user 4 Jan 12 00:16 /tmp/file -> file example% cat /tmp/file /tmp/file: Too many levels of symbolic links To avoid this problem, use full pathnames, or prepend a reference to the PWD variable to files in the working directory: example% rm /tmp/file example% /usr/ucb/ln -s $PWD/file /tmp lrwxrwxrwx 1 user 4 Jan 12 00:16 /tmp/file -> /home/user/subdir/file SunOS 5.11 11 Mar 1994 ln(1B)
All times are GMT -4. The time now is 02:30 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy