linux

A 7-post collection

Shell脚本中$的含义

$$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 $# 添加到Shell的参数个数

使用ssh打洞实现反向代理访问内网服务

不得不佩服ssh的功能之强大,各种隧道代理,n中玩法,看是很复杂的网络包转发处理,一条ssh命令搞定,真乃神器也! 我家里有个非常省电的cubieboard小主机,原来折腾过一段时间的硬件,后来就凉在一边也没再管了,最近想反正一个月也就耗1-2度点,何不用它跑些对外的服务。于是乎拿Python写了个小的web系统。 现在问题来了,我的主机是在自家的路由器环境下的,ip是192.168.1.xx,这就不能对外开放了呀(也许有人会说设置路由器的DMZ主机呀,我能说我用的方正带宽即便是设置DMZ主机,联通或者移动的网络依然无法访问么,且路由器的公网ip是动态分配的呀,有点啰嗦了,总是DMZ主机也搞不定)。 不过,

使用expect脚本的正确姿势

expect是啥就不多说了,不知道的请自行百度之~ 这货处理一些自动化的东西还是挺方便的,这里简单的记录一下他的正确使用姿势。 示例代码: #!/usr/bin/expect spawn mysql -uroot -p expect "*assword:*" { send "test\r" } expect "*mysql>*" { send "use test;\r" } expect "*mysql&