一、对shell的理解
在计算机科学中,Shell俗称壳(用来区别于核),本质就是一个命令解析器。shell是与系统交互的外壳,它接收用户命令,然后调用相应的应用程序。
传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
shell的类型有很多,在大多数Linux里面,默认的shell是bash(Bourne Again Shell )
可以参考这篇文章,写的很好:(Shell的唯一选择–zsh)https://www.jianshu.com/p/c6c3a51bc5d2
二、把默认shell改为zsh
zsh比bash强大太多,尤其是tab键的功能,还有命令与参数不同颜色的显示,对编写程序促进很大。对于怎么样把默认shell改为zsh,网络上有很多教程,直接参考即可。
可以在终端输入 “cat /etc/shells” 查看当前自己的操作系统已有哪些shell。我的显示如下:
可以输入echo $0查看当前的shell是哪个?
可以看到我现在的shell是bash
其实我已经成功地把shell换成zsh,但是由于环境变量没有配对,所以与ROS有关的操作都不行了(因为之前用的bash里添加了source /opt/ros/kinetic/setup.bash,只需要在zsh中添加source /opt/ros/kinetic/setup.zsh)。说是这样说,但是试了很久都没有成功就放弃了,老老实实用bash吧,等以后熟悉了这个系统再来变成zsh。主要是按着网络上的操作都不行啊,崩溃ing…
参考如下的技术文章:
1、安装zsh之后roscore等ros相关命令(比如catkin_init_workspace和source命令等)全部失效解决办法
https://blog.csdn.net/amazingren/article/details/81746176
2、Ubuntu安装zsh
https://www.aliyun.com/jiaocheng/136487.html
3、Ubuntu 下zsh的安装与配置
https://www.jianshu.com/p/4fde9ae77922
三、oh-my-zsh
因为手动配置zsh很麻烦,对于新手很不友好。一般都是用oh-my-zsh这个插件辅助配置zsh。
四、安装zsh
ubuntu16.04下安装zsh和oh-my-zsh:参考如下文章:https://www.cnblogs.com/EasonJim/p/7863099.html