On 02/13/2013 09:44 PM, inode0 wrote:
On Wed, Feb 13, 2013 at 3:12 AM, Suvayu Ali
> Hi John,
> On Tue, Feb 12, 2013 at 08:37:27PM -0600, inode0 wrote:
>> Something like this perhaps.
>> $ 2>/dev/null >/dev/tcp/imap.gmail.com/993 && sync-my-email.sh
> This works, but I don't think I understand it. Could you please
Bash provides built-in ways to manipulate sockets directly. You can
read the REDIRECTION section of the bash man page to get the basics.
Commonly these are used in conjunction with exec to open a socket,
read and/or write data to the socket, then close the socket.
In the simple case here we just have bash attempt to open a tcp socket
on port 993 and return whether it was successful or
not. The advantage of doing this is that we don't need to rely on any
external program to perform such a simple test.
One thing of interest to note but which may not affect what the OP is doing....
If the port being tested is listed as "filtered" by nmap
[egreshko@meimei ~]$ nmap -Pn -p143 imap.gmail.com
Starting Nmap 6.01 ( http://nmap.org
) at 2013-02-13 21:53 CST
Nmap scan report for imap.gmail.com
Host is up.
Other addresses for imap.gmail.com
(not scanned): 184.108.40.206
rDNS record for 220.127.116.11: oa-in-f108.1e100.net
PORT STATE SERVICE
143/tcp filtered imap
2>/dev/null >/dev/tcp/imap.gmail.com/143 && echo "yes"
will hang for quite some time....
Don't be bullied by the judgmental grammar and spelling police.