mac开发环境搭建

mac开发环境搭建

[toc]

jdk

下载jdk的dmg安装包
配置环境变量

➜  ~ vi ~/.bash_profile

编辑环境变量

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH
➜  ~ source ~/.bash_profile

➜  ~ java -version

java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

maven

下载并解压maven

➜  ~ vi ~/.bash_profile 
#maven config
export M2_HOME=/Users/kuroneko/develop/tools/maven/apache-maven-3.6.0
export PATH=$PATH:$M2_HOME/bin
➜  ~ source ~/.bash_profile 

➜  ~ maven kuroneko$ mvn -v


Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-25T02:41:47+08:00)
Maven home: /Users/kuroneko/develop/tools/maven/apache-maven-3.6.0
Java version: 1.8.0_221, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.5", arch: "x86_64", family: "mac"

zsh

➜  ~ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

环境变量编译配置

➜  ~ vi ~/.zshrc

在最后一行加入

source ~/.bash_profile 

git

安装最新版的 git

➜  ~ brew install git

在终端中查看当前系统的 git 指向和版本信息。

➜  ~ which git
/usr/bin/git
➜  ~ git --version
git version 2.17.2 (Apple Git-113)

接下来我们通过 brew linkgit 指向我们通过 Homebrew 安装的 git

➜  ~ brew link git --overwrite
Warning: Already linked: /usr/local/Cellar/git/2.20.1
To relink: brew unlink git && brew link git

重启terminal

➜  ~ which git
/usr/local/bin/git
➜  ~ git --version
git version 2.24.0

expect

安装expect

➜  ~ brew install expect

然后新建一个名为test-ssh文件,我建在develop目录下

➜  develop touch test-ssh
➜  develop vi test-ssh

输入以下内容

#!/usr/bin/expect
set timeout 30
set USR_NAME "root"
set PASSWD "xxxxxx"
set PORT 22
set HOST "192.168.xxx.xxx"
spawn ssh $HOST -l $USR_NAME -p $PORT
expect {
"(yes/no)?"  {send "yes\n";exp_continue}
 "*assword:*" {send "${PASSWD}\n"}
}
interact

wq保存并退出编辑

执行文件

➜  develop expect test-ssh

或者给文件增加执行权限,然后直接执行

➜  develop chmod u+x test-ssh
➜  develop ./test-ssh

shell登陆服务并使用sz rz上传下载文件

安装iterm2

iterm2官网下载,并安装
www.iterm2.com

安装lrzsziterm2-zmodem

brew安装

brew install lrzsz

在github上搜索iterm2-zmodem,然后随便找一个star多的项目,然后下载iterm2-recv-zmodem.shiterm2-send-zmodem.sh
比如 https://github.com/aikuyun/iterm2-zmodem.git

把这两个文件放到/usr/local/bin/下面
执行

chmod 777 /usr/local/bin/iterm2-*

打开item2修改profile
command+o打开profile,点编辑

item1.png

然后编辑triggers
item2.png

加入两行配置

1.第一条
        Regular expression: rz waiting to receive.\*\*B0100
        Action: Run Silent Coprocess
        Parameters: /usr/local/bin/iterm2-send-zmodem.sh
        Instant: checked
2.第二条
        Regular expression: \*\*B00000000000000
        Action: Run Silent Coprocess
        Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
        Instant: checked

item3.png

下载和上传文件的时候可能会有弹窗,点ignore就好
item4.png

expect协作

然后修改环境变量

export LC_CTYPE=en_US

然后配合上面的expect就可以愉快的链接linux服务并且rzsz

但这个方法的缺点是每次都要改这个环境变量
因此我们选择使用autossh

autossh

autossh是一个SSH远程客户端,可一键登录远程服务器,主要用来弥补Mac/Linux Terminal SSH无法保存密码的不足

演示

安装Go环境

brew install go

下载对应操作系统的软件包
https://github.com/islenbo/autossh/releases

然后按照wiki的内容安装即可

https://github.com/islenbo/autossh/wiki

iterm2-zmodem协作

完美无缝链接,直接可以lz rz上传和下载。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358