Why sound doesn't stop?

I have the following script, that gets triggered by an othe script. I want it to play a sound only once, but it keeps playing the sound over and over. What shoul I do?

var trig : boolean;
var sound : AudioClip;

function Update () 
{
	if(trig && !sound.IsPlaying)
	{
		audio.PlayOneShot(sound);
	}
}

Have you tried unchecking the loop on the sound?

audio.isPlaying;

Variables in Unity often starts with lowercase when functions use uppercase.

var trig : boolean;
var sound : AudioClip;

function Update () 
{
    if(trig && !audio.isPlaying)
    {
       audio.PlayOneShot(sound);
       trig = false;
    }
}

Now it won’t repeat. You need to reset trig somewhere to get it playing later again.