美文网首页Shell
Unix学习:由shell学习引发的终端主机名修改思考

Unix学习:由shell学习引发的终端主机名修改思考

作者: Utopi_a | 来源:发表于2015-07-19 17:43 被阅读98次

近期应实验室的要求开始学习Unix相关的一些东西,第一阶段当然是shell脚本了,看到$PS1变量的时候突然想起之前一直没有解决的一个问题。

电脑是老爸帮买的,他拿到的第一件事就是注册开机了,当然对于他来说用我的名字全拼当然是最合适不过的电脑命名方式了。可是对于我这种"高逼格"的青年来说,我肯定要用英文名啊,于是开始改名,之前一直未能解决这个问题,不懂Unix系统最后也就放弃了。

直到今天学习的时候echo 了下 PS1 这个变量,输出结果如下:

"\h\W \u\$ "

这个字串表示mac终端在等待用户输入时显示的前缀,\h主机名,\W当前的工作目录,\u用户名,\$美元符号。所以说按照网上的教程,要修改最前面的名字只需要在共享里面修改主机名就行了啊。

但是修改名字重启终端后主机名仍然没有发生变化,这就蛋疼了,完全不知道问题出在哪里。

感觉会不会是终端引用了某个shell变量,设置中修改后hostname没有及时跟新到变量里导致的?于是set了一下。打出所有变量发现了一个叫HOSTNAME的变量,果然如此,次变量生成了个局域网的主机名,格式如下:

HOSTNAME.Bitman's\032Private\032Network

我的中二名字就用HOSTNAME代替了,Bitman是工作室的路由器名字,之后的两串我也不太明白。可以发现,只是在共享中修改名字后,此变量是并没有被及时跟新的,导致了此问题,所以网上才会出现有人跟新成功有人没有。

解决方案是,设置好主机名后断开网络重新连接,打开网络时系统会重新跟新该变量,hostname也就可以读取到最新的设置了。为什么非要从这样一个存在缓存问题的变量中来获取主机名呢?希望apple在之后可以解决这个问题,不然出这个问题真的很没有头绪。

相关文章

  • Unix学习:由shell学习引发的终端主机名修改思考

    近期应实验室的要求开始学习Unix相关的一些东西,第一阶段当然是shell脚本了,看到$PS1变量的时候突然想起之...

  • Shell是什么

    Shell简介 Shell 诞生于 Unix,是与 Unix/Linux 交互的工具,单独地学习 Shell ...

  • Shell脚本语言学习一

    Shell脚本语言学习二Shell脚本语言学习三 首先 进行基本的文件创建,以及权限查询修改等 进入Mac终端在桌...

  • 终端的概念

    在UNIX系统中,用户通过终端登录系统后得到一个Shell进程,这个终端成为Shell进程的控制 终端(Contr...

  • Shell基础知识

    shell 确认当前终端tty使用的Shell类型: Shell(Unix Shell)是一种命令行解释器,是Un...

  • shell

    Linux/Unix提供了很多种Shell,即shell的各种版本,Mac上默认的是bash。 shell即终端,...

  • 由学习太极引发的思考

    我的太极拳老师一直有一个愿望,就是想让更多的人容易地、免费地了解太极,学习太极。在跟随老师学拳时,他也反复提及这也...

  • 由英语学习引发的思考

    对于小孩子英语学习这件事,您觉得重要吗?您是怎么看待的? 来说说我的经历。我本人是英语的语钝学生,初中学了教材英语...

  • Linux篇 网络配置;vim;破解密码;磁盘分区

    首先了解学习: 查看主机名:hostname 修改主机名:hostnamectl set-hostname ope...

  • Shell脚本学习指南

    《Shell脚本学习指南》Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其...

网友评论

    本文标题:Unix学习:由shell学习引发的终端主机名修改思考

    本文链接:https://www.haomeiwen.com/subject/udspqttx.html