screencapture -l not working: illegal option
The -l option requires an argument for the ID of the window:

$ screencapture -l
screencapture: illegal option -- l
usage: screencapture [-icMPmwsWxSCUtoa] [files]
  -c         force screen capture to go to the clipboard
  -C         capture the cursor as well as the screen. only in non-interactive modes
  -d         display errors to the user graphically
  -i         capture screen interactively, by selection or window
               control key - causes screen shot to go to clipboard
               space key   - toggle between mouse selection and
                             window selection modes
               escape key  - cancels interactive screen shot
  -m         only capture the main monitor, undefined if -i is set
  -M         screen capture output will go to a new Mail message
  -o         in window capture mode, do not capture the shadow of the window
  -P         screen capture output will open in Preview
  -s         only allow mouse selection mode
  -S         in window capture mode, capture the screen not the window
  -t&lt;format&gt; image format to create, default is png (other options include pdf, jpg, tiff and other formats)
  -T&lt;seconds&gt; Take the picture after a delay of &lt;seconds&gt;, default is 5
  -w         only allow window selection mode
  -W         start interaction in window selection mode
  -x         do not play sounds
  -a         do not include windows attached to selected windows
  -r         do not add dpi meta data to image
  -l&lt;windowid&gt; capture this windowsid
  -R&lt;x,y,w,h&gt; capture screen rect
  files   where to save the screen capture, 1 file per screen
$ screencapture -l $(osascript -e 'tell app "Safari" to id of window 1') test.png
$


Or if you have an older version of OS X, screencapture might not include the -l option. At least in 10.8 the -l option is only shown in the help message and not on the man page.

osascript -e 'tell app "Appname" to id of window 1' doesn't work with all applications, but see these questions for other ways to find the IDs of windows:


How do I find the windowid of Google Chrome to pass to screencapture
How do I find the windowid to pass to screencapture -l?