bash编程读书笔记(基础篇II)

2 篇文章 0 订阅
2 篇文章 0 订阅

24.  $ 也是变量。

echo $
解释:$ 也是变量代表当前SHELL执行的PID(Process ID)。通过 echo $$ 既可以看到或者用 ps -e | grep bash。

25. ? 也是变

username=John
echo $?
0
12name=Vasdf
echo $?
130
解释:? 变量的值是上一个指令的返回值。例如上一个指令错误的时候 echo $? 的返回值就不再是0了。
26. locale 查看 Linux语系。

locale -a
解释:locale可以查看计算机可以使用的语系。

27. /etc/issue 和 /etc/issue.net

解释:如同PS1一样,这些文档包含了登录时,计算机出现的欢迎讯息。/etc/issue.net 是在telnet远程登录到计算机的时候,出现的欢迎讯息。最后,他们都有特殊的字符,如下列表。

issue 內的各代碼意義
\d 本地端時間的日期;
\l 顯示第幾個終端機介面;
\m 顯示硬體的等級 (i386/i486/i586/i686...);
\n 顯示主機的網路名稱;
\o 顯示 domain name;
\r 作業系統的版本 (相當於 uname -r)
\t 顯示本地端時間的時間;
\s 作業系統的名稱;
\v 作業系統的版本。

28. /etc/motd

解释:/etc/motd文档里面包含了login以后,屏幕上显示的讯息。而且不能使用像 /etc/issue 和 /etc/issue.net 里如上所使用的变量。

29. login 和 none-login shell

解释:login shell 是需要完整登录的流程,例如从tty1~tty6 登入。none-login shell 是不需要登入的bash界面。例如在图形化界面下打开一个shell窗口。不论那种,如果想把自己定义的变量变成开机以后自动装载的环境变量。就必须把变量的设定写入文档内。如 /etc/profile, ~/.bash_profile 等。

30. /etc/profile ~/.bash_profile (这两个都只有 login shell 才会读取)

解释:不论 ~/.bash_profile、~/.bash_login 或者 ~/.profile 都是属于使用者个人设定。而 /etc/profile 是每个服务器使用者登录取得bash时一定会读取的设定档。不经如此。

/etc/profile 还会呼叫外部的设定资料:  

/etc/inputrc 此文档内容为 bash的热键,[tab] 要不要有声音等等。关于shell输入的参数。

/etc/profile.d/*.sh 凡是profile.d 目录所有以 sh 结尾的脚本都会被呼叫执行。

/etc/sysconfig/i18n 这个是 /etc/profile.d/lang.sh 呼叫进来的。用 locale 查看的 bash 所使用的语系。

读取的流程图:


实线是主线流程,虚线是呼叫设定。同时,从这副图可以看到,/etc/bashrc 同样也会呼叫 /etc/profile.d 目录下的 sh 脚本。

31. source 和 “.”

cat ~/.bash_profile | grep bashrc
解释:在执行上一个命令的时候,我们会发现出现这样的两行: 
·if [ -f ~/.bashrc ]; then
    . ~/.bashrc
这里,”.“ 和 source 是一样的。都是把文档里的设定读到当前的 shell 环境中去。

32. ~/.bashrc (non-login shell 会读取)

解释:上一副只是 login shell 读取文档的流程图。 在桌面环境下,打开一个shell,其只会读取 home目录下的 .bashrc 设定文档。然而,~/.bashrc 设定文档一般会招呼读取 /etc/bashrc 中的设定。 这样来看, /etc/bashrc 和 /etc/profile 是对等的。只是一个服务于 login shell,而另一个服务于 non-login shell。如果你想做一些个人的设定,把设定的内容放在 ~/.bash_prfile 里. ~/.bashrc 行的下面就可以了。

下次有机会对这些llinux bash启动脚本做详细的分析!

33. ~/.bash_logout

解释:这个文档里记录了用户登出后,系统为用户还需完成的任务。比如,清空暂时文件,备份文件等。

34. stty 和 set
解释: stty 是打印或修改热键的命令。 例如, intr = ^C
eof : 结束输入。
erase : 向后删除字符。
intr : 送出一个中断型号给正在跑的程序,通常为当前程序。
kill : 删除在目前指令列上的所有文字。
quit : 送出一个quit命令给正在跑的程序,通常为当前程序。
start : 在某个程序停止后,重新启动它的output。
stop : 停止目前屏幕的输出。
susp : 送出一个 terminal stop 的信号给正在跑的程序。





资料:

http://linux.vbird.org/linux_basic/0320bash/csh/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值