Homebrew
brew的几个命令:
1. brew doctor
检测brew的状态,如果有异常,会给出推荐的解决办法
2. brew update
brew版本过低时,需要升级,首先进到brew的git目录(/usr/local),然后执行下面的命令:
git fetch
git reset –hard origin/master
brew update
expect
安装: brew install expect(如果brew版本过低,可以参考上面的Homebrew内容)
功能:实现人机交互的自动化
例子:
#!/usr/bin/expect -f
set timeout 5
set server [lindex $argv 0]
set user [lindex $argv 1]
set passwd [lindex $argv 2]
spawn ssh -l $user $server
expect {
"(yes/no)" { send "yes\r"; exp_continue }
"password:" { send "$passwd\r" }
}
expect "*Last login*"
interact
- #!/usr/bin/expect
这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和linux下的bash、windows下的cmd是一类东西。
注:如果使用expect,那执行的时候就要用./xxx而不是sh ./xxx.sh - set timeout 5
设置超时时间是5**秒**,set timeout -1是永不超时 - set server [lindex $argv 0]
设置server=[lindex $argv 0],即server为输入的第一个参数,下面两句同理 - spawn ssh -l $user $server
执行ssh -l $user $server,其中$user和$server分别为上面set的值 - expect {
“(yes/no)” { send “yes\r”; exp_continue }
“password:” { send “$passwd\r” }
}
针对期待的输入,输出对应的值,从而完成自动化人机交互,
如果输出(yes/no),则自动输出”yes\r”,exp_continue可以继续执行下面的匹配,简单了许多。
如果输出password,则自动输出”$passwd\r”,$passwd为上面set的值 - interact
将控制权交回给用户,即ssh 登陆后让用户继续操作
lrzsz
包括两个命令:rz和sz
安装
- 安装lrzsz: brew install lrzsz
- 安装iTerm2,直接下载安装即可
安装iterm2-zmodem
#进入到brew的bin目录
cd /usr/local/bin
sudo wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh
sudo wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-recv-zmodem.sh
sudo chmod 777 /usr/local/bin/iterm2-*打开iTerm2,Cmd + , -> Profile -> Advanced -> triggers
加入如下两个triggers:Regular expression: **B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Regular expression: **B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
使用方法
- sz filename: 将文件发送到本地机器,如果已经ssh登陆到远程主机,即将远程主机的文件下载到本地
- rz: 将文件从本地机器中发出,如果已经ssh登陆到远程主机,即本地文件上传到远程主机中