title: What does the [ -n "$URL" ] option do in this script?
body: <pre><code>#!/bin/bash
  
  INPUT=&quot;urls.txt&quot;
  URL=&quot;&quot;
  
  while read URL || [ -n &quot;$URL&quot; ] ;
  do
    echo -e &quot;
  *************************************************************************************
  Scaning \&quot;$URL\&quot; ...
  *************************************************************************************\n&quot;;
    nmap -v -sV $URL -Pn |tee $URL-$(date +%m%d%y)_$(date +%H%M).log
  done &lt; $INPUT
  </code></pre>
  <p>I know that if I just remove <code>|| [ -n &quot;$URL&quot; ]</code>, the script won't process the last line of <code>$INPUT</code>.</p>
  <p>Also, could you please explain me where is the part of the script in which you go to the next line of <code>$INPUT</code> in each step of the <code>while</code> loop?</p>