shell:俗称操作系统的"外壳",就是命令解释程序。

    是用户与Linux内核之间的接口。

    是负责与用户交互,分析、执行用户输入的命令,并给出结果或出错提示。

    每个用户账号创建时都会指定一个shell。当用户使用该账号注册成功,便会马上执行。

    root账号的shell提示符是#号。

 

shell种类:

ash:占用资源最少的shell。

bash:默认使用,内部命令一共用40个。

ksh:共42条内部命令,与商业版ksh完全兼容。

csh:linux较大的内核,C语言写成。tcsh就是csh,它指向/bin/tcsh这样的一个shell。

zsh:最大的shell之一,84个内部命令。

 

查看用户指定的shell:cat /etc/passwd。

    命令显示的内容中,每一行是用户的信息。信息末尾就是指定shell类型。比如/sbin/nologin,这是一个假shell,表示该用户无法登录;/sbin/bash,表示用户登录后使用bash。

 

修改用户指定shell的方法:

  1. 修改/etc/passwd文件。
  2. 使用usermod命令:修改用户属性。
    1. useradd xx1 //添加xx1用户
    2. usermod –s /bin/ksh //修改用户shell为ksh。
  3. 修改shell命令:chsh。
    1. chsh –s shellname username

 

Shell变量:用于定制用户本身的工作环境,可保存有用的信息使系统获知用户相关设置。

    按作用分:环境变量和本地变量。本地变量只限于一次会话。

    查看环境变量:set命令。

    定制或设置变量值:set 变量名=变量值

    

Shell脚本:将一系列的命令保存在一文件内,可以一次执行该系列命令。

执行脚本文件的方法:

  1. 执行sh命令:sh [文件名];
  2. 将脚本文件添加可执行权限:chmod a+x [文件名]。添加完后就可以直接执行:./文件名。

 

如果要设定脚本文件执行时的shell,可以在脚本文件开头这样写:

#!/bin/bash

 

/etc/profile:环境变量文件,所有的环境变量都在里面设置,该文件会在用户登录时自动执行。

/etc/bashrc: bash shell环境变量文件,该文件只会在用户登录时使用的是bash shell才会自动执行。

~/.bash_profile:用户环境变量文件,当前用户登录时才会执行。

~/.bashrc:同上。

 

脚本命令:

shift:用于将脚本参数值向后一位传递。

循环控制:

For i in 1 2 3

do

…..

done

 

while <判别命令>

do

….

done

 

until <判别命令>

do

….

done

 

条件测试:test命令

test –e [文件名]:检查文件名是否存在;

-x [文件名]:检查是否为可执行文件;

-f [文件名]:检查文件是否存在,并为普通文件;

-L [文件名]:是否为硬链接文件

-d [文件名]:是否为目录;

-nt:前者比后者是否新。示例:test file1 -nt file2

 

判断两整数:

-eq:两值相等;

-ne:两值不相等 ;

-lt:小于;

-gt:大于;

-le:小于等于;

-ge:大于等于;

 

判断字串:

–z string:是否空字串;

-n string:是否不为空;

==:是否相等;

!=:是否不相等;

 

shell预设参数:

$0预设的参数值为脚本名称;

第1个参数为$1,第2个参数为$2……

特殊的参数:

$@:包含所有从$1开始的参数值,空格相隔。

$#:包含的参数个数。

注意:shift命令能对以上特殊参数造成值的变化。

shell笔记的更多相关文章

  1. bash&nbsp;shell笔记1&nbsp;脚本基础知识

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/505644 * ...

  2. Bash shell 笔记总结(一) 转自http://www.bubuko.com/infodetail-509992.html,谢谢原作者

    本文是上课笔记总结,涉及细节知识点会在以后文章说明! bash脚本编程: 脚本程序:解释器解释执行: shell: 交互式接口:编程环境: shell: 能够提供一些内部命令,并且能通过PATH环境变 ...

  3. Java中执行shell笔记

    在java中执行shell有好几种方式:第一种(exec)方式一 public static synchronized void runshell2() {    File superuser = n ...

  4. shell笔记-local、export用法 、declare、set

    local一般用于局部变量声明,多在在函数内部使用.     1.    Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止.     2. ...

  5. shell 笔记

    shell 笔记 通配符 没有 '.' [Aa] 表示 A 或者 a ? 表示任意字符 * 表示任意字符串 IFS data='name, sex, rollno, location' oldIFS= ...

  6. shell笔记(基本知识)

    一.编写第一个shell程序 实例1: [程序] #!/bin/sh echo "hello word !" [运行]

  7. shell笔记-local、export用法

    local一般用于局部变量声明,多在在函数内部使用.    1.    Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止.    2.   ...

  8. 【转】Linux shell笔记

    由于工作的需要,越来越多的接触到linux系统.最近看了<Linux与Unix Shell>这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅. No.001 文件安全与权 ...

  9. shell笔记-常用

    shell提取文件名: http://blog.csdn.net/u011544778/article/details/50773053 一.使用${} 1.${var##*/}该命令的作用是去掉变量 ...

随机推荐

  1. Flexible 弹性盒子模型之CSS flex-flow

    实例 让弹性盒的元素以相反的顺序显示,且在必要的时候进行拆行: display:flex; flex-flow:row-reverse wrap;   效果预览 浏览器支持 表格中的数字表示支持该属性 ...

  2. css3更改input单选和多选的样式

    在项目开发中我们经常会遇到需要更改input单选和多选样式的情况,今天就给大家介绍一种简单改变input单选和多选样式的办法. 在这之前先简单介绍一下:before伪类 :before 选择器向选定的 ...

  3. 用Swagger生成接口文档

    Swagger简介 在系统设计的时候,各个应用之间往往是通过接口进行交互的.因此接口的定义在整个团队中就变得尤为重要.我们可以把接口的规范用接口描述语言进行描述,然后Swagger可以根据我们定义的接 ...

  4. Linux CentOS7通过yum命令安装Mono(尝先安装模式)

    前言 经过尝试网上各种安装mono的技术贴,这个安装过程经历了大约2周,尝试了各个版本,几目前博客所描述的所有安装方式.以下内容的安装方式可以为你尝试不同版本的mono.并非正式环境安装标准方式安装. ...

  5. MongoDB与PostgresQL无责任初步测试

    PostgresQL一秒能插入多少条记录,MongoDB呢?读取的情况又如何?我写了一些简单的程序,得出了一些简单的数据,贴在这里分享,继续往下阅读前请注意下本文标题中的“无责任”,这表示此测试结果不 ...

  6. CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator

    CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator 我还没有用过Compute Shader,所以现在把红宝书里的例子拿来了,加入CSharpGL中. ...

  7. svn diff 详解

    UI版: 如果多人编辑同一段代码,常常容易出现冲突的情况: 如果出现冲突,我们如何解决他呢? 1 可以选择使用自己的文件mime file,也可以使用 他们的文件 their file 2 解决冲突, ...

  8. 自定义tabBar

    ★★★★自定义tabBar★★★★★★★ Demo下载地址:https://github.com/marlonxlj/tabBarCustom.git 前言: 有的时候需求要对tabBar进行自定义的 ...

  9. C#设计模式-责任链模式

    在现实生活中,有很多请求并不是一个人说了就算的,例如面试时的工资,低于1万的薪水可能技术经理就可以决定了,但是1万~1万5的薪水可能技术经理就没这个权利批准,可能就需要请求技术总监的批准,所以在面试的 ...

  10. 【Win 10应用开发】提供建议列表的输入控件(AutoSuggestBox)

    AutoSuggestBox控件与TextBox控件相似,但,AutoSuggestBox控件可以提供一个下拉列表,用户可以从弹出的下拉列表中选择一个项,并把被选项的内容显示在输入框上.就类似于搜索引 ...