导航

    蓝鲸ROS机器人论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 热门
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    在Ubuntu中使用zsh

    技术交流
    zsh bash ubuntu zsh zsh环境变量
    1
    1
    3345
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • weijiz
      weijiz 最后由 weijiz 编辑

      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
      

      这样就一切正常了。

      1 条回复 最后回复 回复 引用 0
      • 1 / 1
      • First post
        Last post
      Copyright © 2015-2023 BlueWhale community