bash学习笔记——bash是什么

bash是shell的一种,所谓的shell(壳)是一个接口,这个接口提供给用户操纵系统的能力,广义的shell包括图形界面和命令行界面,狭义的shell是指命令行界面的接口,这里的bash就是一种狭义的shell。Shell可以调用其他的程序,也可以执行一些自己本身支持的命令。

bash是Bourne Again Shell的简称,是Linux的默认shell。系统一般会提供多个可用的shell,可用的shell写在配置文件/etc/shells中,用户使用的shell在用户登录系统时就可以指定,具体内容写在/etc/passwd配置文件中。

bash作为一种shell所具有的优点:

  1. 命令记忆功能,可以记录以前使用过的命令,有的发行版本可以达到记忆1000条命令的功能,历史命令记忆在用户的主文件夹中的.bash_history文件中,但是只记录这次登陆以前的命令,这次登陆的命令记忆在内存中,退出后才写到文件中。
  2. 命令与文件补全功能,在一串命令的第一个字处点击两次tab键为补全命令,在第二个字处点击两次tab为补全文件名。(通常情况下,在不为变量赋值的情况下,第一个字是命令,第二字是参数。)
  3. 别名设置功能,使用alias命令可以为常用的命令组合设置别名,例如alias lm=’ls -al’,使用单引号引用字符串。别名只能在一次登录中起作用,退出后不再起作用。
  4. 作业控制,前台,后台控制。高级功能。
  5. 程序脚本,利用程序脚本可以将许多常用的命令组合起来,实现自动控制,来完成许多以前只有用编程才可以实现的功能,类似于一个小型的编程语言。
  6. 通配符。

bash可以调用外部命令,也可以执行自己的内建命令,所谓的外部命令是一个外部程序,bash可以调用这个程序。利用type可以查看一个命令的类型。当一个命令需要多行输入时,可以使用’\[Enter]’来帮助多行输入,其中[Enter]紧跟在\之后,表示被\转义,使[Enter]不再具有执行命令的功能。

时间: 2024-08-08 01:28:24

bash学习笔记——bash是什么的相关文章

BASH 学习笔记小结

1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您

Linux学习笔记——bash命令及shell变量简介

bash 及其特性 shell  外壳 GUI :Gnome  KDE  xface CLI :shell  csh  ksh  bash 程序,进程 进程:每个进程看来,当前主机上只存在内核和当前进程 进程是程序的副本,进程是程序执行实例 用户的工作环境: bash: #   root用户 $   普通用户 shell  ,子shell bash : 1.命令历史 2.管道,重定向 3.命令行编辑 4.命令别名 5.命令行展开 6.文件名通配 7.变量 8.编程 命令行使用技巧: Ctrl +

Linux学习笔记--bash脚本编程之二、条件判断

 bash脚本编程之二.条件判断 条件判断: 如果用户不存在 添加用户,给密码并显示添加成功: 否则 显示用户已存在,没有添加 bash中如何实现条件判断? 整数测试 字符测试 文件测试 条件测试的表达式:     [expression]     [[expression]]     test expression 整数比较: -eq:测试两个整数是否相等:比如 $A -eq $B     -ne:测试两个整数是否不等:不等,为真:相等,为假:     -qt:测试一个数是否大于另一个数:大于

bash学习笔记——Shell变量

在shell环境中可以设置变量,方便用户的使用.用户可以自定义变量,通过简单的语法就可以直接在shell环境中实现,例如:”x=100”等.同时,还有一些变量可以影响bash环境的操作,称为环境变量,例如PAHT,HOME,MAIL等,为了与自定义变量进行区别,这些变量一般为大写.其中,PATH变量是shell搜索外部命令(即外部应用)的路径,如果在PATH路径中没有找到命令,则shell会显示无法找到命令. 变量内容可以通过echo命令来显示,变量名字前需要加$符号.关于单引号与双引号,单引号

Linux学习笔记--bash脚本编程之一变量、变量类型

bash脚本编程之一变量.变量类型 shell编程: 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量)语言 事先转换成可执行格式 C.C++.JAVA.C# 动态语言:解释型语言       on the fiy                                   弱类型 边解释边执行 ASP.ASP.net.PHP.shell.Python.perl 面向过程:shell.C   面向对象:JAVA.Python .Perl.C++

bash学习笔记——特殊字符

{xxx,yyy,zzz,...} 一个命令可以在文件名扩展中从逗号分隔的各模式来扩展参数列表. 文件名将会依照列表中逗号分隔开的模式匹配扩展. 在扩展中的所有模式都不能包含空白字符,除非空白字符是被转义或引用的. echo {file1,file2}\ :{\ A," B",' C'} file1 : A file1 : B file1 : C file2 : A file2 : B file2 : C scriptname >filename重定向scriptname的输出到

bash学习笔记——变量

在一个双引号(" ")里的变量引用不会禁止变量替换.所以双引号被称为部分引用,有时也称为"弱引用".而在一个单引号里(' ')的变量替换是被禁止的,变量名只被解释为普通的字面意思.所以单引号被称为"全局引用",有时也被称为强引用. hello="A B C D" echo $hello # A B C D echo "$hello" # A B C D # 正如你所看到的:echo $hello和echo

《学习bash》笔记--进程处理

1.进程ID和作业编号 当通过附加&号后运行命令时,shell会响应如下: $ ls & [1] 3318 其中[1]是作业号,3318是进程号. 一个后台进程完成时,shell会给出作业编号信息,如下: [1]+  Done                    ls --color=auto 如果作业以非0状态退出时,shell指出其退出状态. 2.作业控制 作业编号可以使它们在shell命令中进行作业控制.一旦作业在后台运行,你可以让它一直运行,或把它放到前台,或向其发送信号. 2.

《学习bash》笔记--调试shell程序

在shell中,最简单的调试助手时输出语句echo,可以通过把许多echo语句放到代码中进行调试,但必须花费足够的时间以定位 要查看的信息.可能必须通过许多的输出才能发现要查找的信息. 1.set选项 最基本的时set -o命令选项,当运行脚本时,这些选项可以用在命令行上,如下表所示: set -o选项      命令行选项      行为 noexec            -n                     不运行命令,值检查语法错误 verbose           -v