鸟哥的Linux私房菜下载见
Bash的优点:
1、命令编修能力 (history):
曾经输入的指令都被记录下来,记录的文件在根目录的.bash_history下。~/.bash_history记录的是上一次登入以前执行过的指令,这一次登陆所运行的命令都被缓存在内存中,当你成功的注销系统后,该命令记忆才会记录到 .bash_history 当中!
2、命令与文件补全功能: ([tab] 按键的好处)
[Tab] 接在一串命令的第一个字的后面,则为命令补全;
[Tab] 接在一串命令的第二个字以后时,则为『文件补齐』!
3、命令别名配置功能: (alias)
4、工作控制、前景背景控制: (job control, foreground, background)
5、程序化脚本: (shell scripts)
6、通配符: (Wildcard)
显示变量的值要用echo指令:
语法:
[root @test root]# echo $variable
范例:
[root @test root]# echo $PATH
/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
[root@test root]# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
[root@test root]# echo $HOME
/root
显示系统中的所有环境变量可以使用env指令
比较重要的几个环境变量
HOME 登入者的根目录
SHELL 目前这个环境使用的 SHELL 是哪支程序
HISTSIZE 当前的指令记忆数量
MAIL 您的邮件文件
PATH 文件和命令的搜寻路径
set命令不止显示环境变量而且显示用户自定义变量
配置变量:变量名=变量内容
变量的配置规则:
1、变量与变量内容以一个等号『=』来连结
2、等号两边不能有空格符
3、变量名称只能是英文字母与数字,但是开头字符不能是数字
4、变量内容若有空格符可使用双引号『"』或单引号『'』将变量内容结合起来,但
双引号内的特殊字符如 $ 等,可以保有原本的特性,如下所示:
『var="lang is $LANG"』则『echo $var』可得『lang is en_US』
单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:
『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』
5、可用跳脱字符『 \ 』将特殊符号(如 [Enter], $, \, 空格符, '等)变成一般字符
6、在一串命令中,还需要藉由其他的命令提供的信息,可以使用反单引号『`命令`』或 『$(命令)』。注意,那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号
7、若该变量为扩增变量内容时,则可用 "$变量名称" 或 ${变量} 累加内容,如:『PATH="$PATH":/home/bin』
8、若该变量需要在其他子程序运行,则需要以 export 来使变量变成环境变量,如:『export PATH』
9、通常大写字符为系统默认变量,自行配置变量可以使用小写字符
10、取消变量的方法为使用 unset :『unset 变量名称』例如取消 myname 的配置:
『unset myname』
set命令:
OSTYPE=linux-gnu <== 操作系统的类型! PPID=20025 <== 父程序的 PID (会在后续章节才介绍) PS1='[\u@\h \W]\$ ' <== PS1 就厉害了。这个是命令提示字符,也就是我们常见的 [root@www ~]# 或 [dmtsai ~]$ 的配置值啦!可以更动的! PS2='> ' <== 如果你使用跳脱符号 (\) 第二行以后的提示字符也 name=VBird <== 刚刚配置的自定义变量也可以被列出来喔! $ <== 目前这个 shell 所使用的 PID ? <== 刚刚运行完命令的回传值。环境变量PS1
PS1:(提示字符的配置)
这是 PS1 (数字的 1 不是英文字母),这个东西就是我们的『命令提示字符』
\d :可显示出『星期 月 日』的日期格式,如:"Mon Feb 2" \H :完整的主机名。举例来说,鸟哥的练习机为『』 \h :仅取主机名在第一个小数点之前的名字,如鸟哥主机则为『www』后面省略 \t :显示时间,为 24 小时格式的『HH:MM:SS』 \T :显示时间,为 12 小时格式的『HH:MM:SS』 \A :显示时间,为 24 小时格式的『HH:MM』 \@ :显示时间,为 12 小时格式的『am/pm』样式 \u :目前使用者的账号名称,如『root』; \v :BASH 的版本信息,如鸟哥的测试主板本为 3.2.25(1),仅取『3.2』显示 \w :完整的工作目录名称,由根目录写起的目录名称。但家目录会以 ~ 取代; \W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。 \# :下达的第几个命令。 \$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 啰~环境变量$代表本Shell的线程代号,也就是PID
环境变量?:上一个命令所传回的值(正确返回0,错误返回1)
变量键盘读取、数组与宣告: read, array, declare