Visit Our UNIX and Linux User Community


What is with the '&'.


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers What is with the '&'.
# 1  
Old 03-12-2002
What is with the '&'.

Hi Gurus,
I would appreciate if someone could enlighten this newbie as to how significant the '&' is to unix.
Currently I am getting around to writing a script which has to deal with a lot of these ampersands either as starting chars or between chars.
Please find below the simpliest way that I could find in getting this thread posted with the subject.

rose_pa--root::/data/connect>mkdir &Q2
[1] 29264
ksh: Q2: not found.
rose_pa--root::/data/connect>Usage: mkdir [-p] [-m mode] Directory ...


Would appreciate any input
thnx
buRst
# 2  
Old 03-12-2002
Hello,
The & has several modes of significance on the Unix command line. The 2 most common forms I usually encounter are for running jobs in the background and for redirecting STDERR.

When & appears at the end of a command string, this usually signifies you want that command to run in the background. This returns control of your session back to you. If you submit a command that normally takes 5 minutes with no & on the end of it, you have to wait 5 minutes until the prompt returns. With & on the end, you get the command prompt back immediatly and your commmand continues to run.

The command that follows is actually interpretted by the shell as 2 commands.

rose_pa--root::/data/connect>mkdir &Q2

ksh thinks you are running a command called mkdir and a second command called Q2. mkdir is being put in the background. That is why you get this message:

[1] 29264

This is the process ID of mkdir.

Then the shell tries to run Q2 thinking it is another command. Then you get:

ksh: Q2: not found.

mkdir then completes and gives you the error:

rose_pa--root::/data/connect>Usage: mkdir [-p] [-m mode]
Directory ...


This is because no directory name appeared prior to the &.

I hope this makes sense. You may want to check the man pages for fg as well. This brings background jobs to the foreground.

TioTony
# 3  
Old 03-13-2002
And if you really wanted to have a directory with an "&" in it, you would have to escape the special meaning of the character, like this:
Code:
$ mkdir \&Q2
$ cd \&Q2
$ ls
 &Q2

# 4  
Old 03-13-2002
Another use of the ampersand "&" is to link commands in series..... typically best used as a double ampersand - which will only execute the subsequent commands if the preceeding one is successful

i.e.

cd /export/home/my_dir && ls -l && rm -i *old

This command will first change your directory - then list the contents - then remove files ending in 'old' (interactively prompting).

The difference of the double ampersand vs the single (cd /export/home/my_dir & ls -l & rm -i *old) is that if one of the preceeding commands failed (i.e there is no my_dir directory) then the subsequent command would still try to execute. With double when it fails the command doesn't try to do any more.

Maybe not related to your query re: directory or filenames - but will help to understand what it's useaeg can be.
# 5  
Old 03-13-2002
Thank you very much indeed.
buRst
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #399
Difficulty: Medium
The 11i v2 release of HP-UX introduced kernel-based intrusion detection, strong random number generation, stack buffer overflow protection, security partitioning, role-based access management, and various open-source security tools.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

What are the differences between 'bash' and 'sh'

Hopefully this doesn't come off as too much of a "newbie" question or a flamebait. But I have recently begun working with a Sun Solaris box after having spent the past five years working with RedHat. From what i can tell, thing look fairly similar and the 'man' command is some help. But I've... (7 Replies)
Discussion started by: deckard
7 Replies

2. UNIX for Advanced & Expert Users

How to remove a file with a leading dash '-' in it's name?

Somehow someone created a file named '-ov' in the root directory. Given the name, the how was probably the result of some cpio command they bozo'ed. I've tried a number of different ways to get rid of it using * and ? wildcards, '\' escape patterns etc.. They all fail with " illegal option --... (3 Replies)
Discussion started by: GSalisbury
3 Replies

3. IP Networking

BELKIN 'F5D5020' 16bit PCMCIA - FreeBSD HOWTO

Hey all, I've bought a few bits from Belkin who seem quite happy to support FreeBSD! Last time I bought a UPS from them and it's still going well :D I saw this on their website that the 16bit PCMCIA card was supported under FreeBSD: http://www.belkin.com/network/F5D5020.html I went to my... (0 Replies)
Discussion started by: WIntellect
0 Replies

4. UNIX for Dummies Questions & Answers

quoting echo 'it's friday'

echo 'it's friday' why appear the > (3 Replies)
Discussion started by: yls177
3 Replies

5. UNIX for Dummies Questions & Answers

HELP! The '/var/adm/message' file increase every few seconds???

Hi, guys, I have a big problem. I've got a sun solaris 4.1.4 workstation, and the /var/adm/message file will add one row every few seconds. It becomes a large file in a short time. I wander if there are some mistakes configuring the workstation. the /var/adm/message is as follow: ... (3 Replies)
Discussion started by: cloudsmell
3 Replies

6. Filesystems, Disks and Memory

HELP! The '/var/adm/message' file increase every few seconds???

Hi, guys, I have a big problem. I've got a sun solaris 4.1.4 workstation, and the /var/adm/message file will add one row every few seconds. It soon becomes a large file. I wander if there are some mistakes configuring the workstation. the /var/adm/message is as follow: ... (1 Reply)
Discussion started by: cloudsmell
1 Replies

7. UNIX for Advanced & Expert Users

Terminal 'Local Echo' lost on Modem Dial-out

Can anybody help me? I am developing a utility for automating message paging to a BT alphanumeric pager. I am using a USR 56K Fax-modem connected to /dev/cuab on a Sun Ultra-10. I am using the UNIX 'tip' utility to connect to the modem and I have configured the modem as follows: Baud Rate:... (2 Replies)
Discussion started by: mybeat
2 Replies

8. Shell Programming and Scripting

Clearify what it means under 'WHAT' when hit the 'w'-command

I wonder how I shall read the result below, especially 'what' shown below. The result was shown when I entered 'w'. E.g what is TOP? What is gosh ( what does selmgr mean?)? login@ idle JCPU PCPU what 6:15am 7:04 39 39 TOP 6:34am 6:45 45 45 TOP 6:41am ... (1 Reply)
Discussion started by: Aelgen
1 Replies

9. Programming

i can't use 'make' in my computer?

I need to compile a file,but 'make' does not work.please tell me how to use it or need which tools? (3 Replies)
Discussion started by: dsun5
3 Replies

10. UNIX for Dummies Questions & Answers

How to subtract 2 hours from 'date' in shell ( /bin/sh ) script ?

I write a sh script that zip and copy to tape all files that older then 2 hours. 1. The way I choose is - touch a file with "now - 2 hours", then use fine with '! -newer' 2. Do you have any other idea to do it ? tnx. (1 Reply)
Discussion started by: yairon
1 Replies

Featured Tech Videos