2009/03/07, 8:59 pm
C CODE

/*
FILENAME : my_local_ip.c
*/
#include
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char **argv) {
int s;
struct sockaddr_in sin;
int slen;
int port;
if( argc<3 ) {
printf("Usage: %s \n", argv[0]);
printf("\n\tsample %s 203.66.88.89 80\n",argv[0]);
return -1;
}
port = atoi(argv[2]);
s = socket(PF_INET, SOCK_STREAM, 0);
memset(&sin, 0, sizeof(sin));
sin.sin_family = PF_INET;
sin.sin_port = htons(port);
sin.sin_addr.s_addr = inet_addr(argv[1]);
if(connect(s, (struct sockaddr *)&sin, sizeof(sin)) < 0) {
printf("127.0.0.1");
return -1;
}
memset(&sin, 0, sizeof(sin));
slen = sizeof(sin);
if(getsockname(s, (struct sockaddr *)&sin, &slen) < 0) {
printf("127.0.0.1");
close(s);
return -1;
}
printf("%s", inet_ntoa(sin.sin_addr));
close(s);
return 0;
}
可以依自己的需求來改這SHELL:
#!/bin/sh
ADDR=`my_local_ip 168.95.1.1 53`
FILENAME=${ADDR=}".txt"
echo $FILENAME
Share on Facebook
2009/02/19, 11:39 am
Shell script syntax
Bourne shell (sh) syntax samples
test:
[ number -lt|-le|-eq|-ne|-ge|-gt number ]
[ string = != string ]
if [ test ]
then
commands
elif [ test ]
commands
else
commands
fi
for var in item1 item2 item3
do
commands
done
while test
do
commands
done
case expression in
case1) commands ;;
case2|case3) commands ;;
*) default-commands ;;
esac
# How to read an input file into shell variables:
while read variable1 variable2
do
...
done < $input_file
# How to redirect stdout/stderr
echo something 1>&2
echo something 2>&1
# How to throw out stdout and stderr
some_command > /dev/null 2>&1
# Shell functions:
func () {
echo $1 $2 $3
}
func a b c
C shell (csh) syntax samples
test:
( expression ==|!=|>>|<< expression )
if ( test ) command
if ( test ) then
commands
else if ( test ) then
commands
else
commands
end if
foreach var ( list list list )
commands
end
while condition
commands
end
# How to throw out stdout and stderr
some_command >& /dev/null
另一個
#!/bin/sh
count=0
while [ $count -lt 5 ]
do
count=`expr $count + 1`
echo $count
done
Share on Facebook
2008/10/02, 11:02 am
因為工作上都要改成 UTF8 , 所以很多以前熟悉的工具都要作一番改變 , 於是順手記在這邊 , 免得又忘記了.
我的 .screenrc
caption always "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
bind b encoding big5 utf8
bind u encoding utf8 big5
我的 .bashrc
EDITOR="/usr/bin/vim"
我的 putty setting


Share on Facebook