在Ubuntu ROS中使用zsh

原链接:https://community.bwbot.org
运行测试平台:小强ROS机器人

zsh是一个shell环境,不过和一般使用的bash shell不同,zsh的交互性更强也更人性化。(bash还有一些莫名其妙的bug)
下面介绍一下怎么在Ubuntu中安装和使用zsh。

安装
sudo apt-get update
sudo apt-get install zsh
# 下面是把系统默认的shell换成zsh, 重启后生效
command -v zsh | sudo tee -a /etc/shells
chsh -s `which zsh`

安装 on-my-zsh,这个是zsh的一个插件库,包含各种常用的插件和主题。详情可以看这里

wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
环境变量的的设置

在bash 中一般会有很多环境变量,如果这些变量没有在zsh中设置的话就会导致各种程序的错误。
一般bash的环境变量在.bashrc中

source /opt/ros/kinetic/setup.bash
export PATH=/home/randoms/Programs/android-sdk-linux/platform-tools:$PATH
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/.go
export PATH=$GOPATH/bin:$PATH
source /home/randoms/Documents/ros/workspace/devel/setup.sh
export ROS_PACKAGE_PATH=/home/randoms/Documents/ros/workspace/src:/home/randoms/Documents/ros/workspace/src/ORB_SLAM2/Examples/ROS:$ROS_PACKAGE_PATH
export BUP_DIR=/home/randoms/backup/bup
ulimit -c unlimited

比如这是我的一些的环境变量的设置
基本上直接复制到.zshrc文件里面就可以了。需要注意的是source指令。zsh中没办法source bash的文件。

source xxx.sh
# 更改为,这实际上是开了一个sh的模拟器去解释执行bash指令
emulate sh -c 'source xxx.sh'

对应上面的内容更改为

emulate sh -c 'source /opt/ros/kinetic/setup.sh'
export PATH=/home/randoms/Programs/android-sdk-linux/platform-tools:$PATH
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/.go
export PATH=$GOPATH/bin:/home/randoms/Documents/SharpLink/SharpLink/bin/Debug:$PATH
emulate sh -c 'source /home/randoms/Documents/ros/workspace/devel/setup.sh'
export ROS_PACKAGE_PATH=/home/randoms/Documents/ros/workspace/src:/home/randoms/Documents/ros/workspace/src/ORB_SLAM2/Examples/ROS:$ROS_PACKAGE_PATH
export BUP_DIR=/home/randoms/backup/bup
ulimit -c unlimited

这样就可以了。
下面来一个zsh的截图
0_1492755121711_Screenshot from 2017-04-21 14-11-46.png

Updata:
对于ROS的source脚本并不能完全这样设置。这样设置后有些指令不能使用。发现ROS默认是提供了setup.zsh的脚本的
所以上面的配置可以变成这样

. /opt/ros/kinetic/setup.zsh
export PATH=/home/randoms/Programs/android-sdk-linux/platform-tools:$PATH
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/.go
export PATH=$GOPATH/bin:/home/randoms/Documents/SharpLink/SharpLink/bin/Debug:$PATH
#emulate sh -c 'source /home/randoms/Documents/ros/workspace/devel/setup.sh'
. /home/randoms/Documents/ros/workspace/devel/setup.zsh
export ROS_PACKAGE_PATH=/home/randoms/Documents/ros/workspace/src:/home/randoms/Documents/ros/workspace/src/ORB_SLAM2/Examples/ROS:$ROS_PACKAGE_PATH
export BUP_DIR=/home/randoms/backup/bup
ulimit -c unlimited

这样就一切正常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值