shell笔记
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的方法:
- 修改/etc/passwd文件。
- 使用usermod命令:修改用户属性。
- useradd xx1 //添加xx1用户
- usermod –s /bin/ksh //修改用户shell为ksh。
- 修改shell命令:chsh。
- chsh –s shellname username
Shell变量:用于定制用户本身的工作环境,可保存有用的信息使系统获知用户相关设置。
按作用分:环境变量和本地变量。本地变量只限于一次会话。
查看环境变量:set命令。
定制或设置变量值:set 变量名=变量值
Shell脚本:将一系列的命令保存在一文件内,可以一次执行该系列命令。
执行脚本文件的方法:
- 执行sh命令:sh [文件名];
- 将脚本文件添加可执行权限: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笔记的更多相关文章
- bash shell笔记1 脚本基础知识
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/505644 * ...
- Bash shell 笔记总结(一) 转自http://www.bubuko.com/infodetail-509992.html,谢谢原作者
本文是上课笔记总结,涉及细节知识点会在以后文章说明! bash脚本编程: 脚本程序:解释器解释执行: shell: 交互式接口:编程环境: shell: 能够提供一些内部命令,并且能通过PATH环境变 ...
- Java中执行shell笔记
在java中执行shell有好几种方式:第一种(exec)方式一 public static synchronized void runshell2() { File superuser = n ...
- shell笔记-local、export用法 、declare、set
local一般用于局部变量声明,多在在函数内部使用. 1. Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. 2. ...
- shell 笔记
shell 笔记 通配符 没有 '.' [Aa] 表示 A 或者 a ? 表示任意字符 * 表示任意字符串 IFS data='name, sex, rollno, location' oldIFS= ...
- shell笔记(基本知识)
一.编写第一个shell程序 实例1: [程序] #!/bin/sh echo "hello word !" [运行]
- shell笔记-local、export用法
local一般用于局部变量声明,多在在函数内部使用. 1. Shell脚本中定义的变量是global的,其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止. 2. ...
- 【转】Linux shell笔记
由于工作的需要,越来越多的接触到linux系统.最近看了<Linux与Unix Shell>这本书,安装书的章节整理了一些自己认为比较重要的命令,方便以后查阅. No.001 文件安全与权 ...
- shell笔记-常用
shell提取文件名: http://blog.csdn.net/u011544778/article/details/50773053 一.使用${} 1.${var##*/}该命令的作用是去掉变量 ...
随机推荐
- iOS中支付宝集成
iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...
- Mysql 学习之基础操作
一.表复制 1.复制表结构 将表hello的结构复制一份为表hello3 2.复制数据 a.如果两张表的结构一样且你要复制所有列的数据 mysql> insert into hello3 ...
- Angular2学习笔记——Observable
Reactive Extensions for Javascript 诞生于几年前,随着angular2正式版的发布,它将会被更多开发者所认知.RxJs提供的核心是Observable对象,它是一个使 ...
- What is Away3D
做了几个基于Flash平台的3D的项目,一路走来收获颇多.Away3D作为一个开源的Flash3D引擎,在3D页游领域,无疑是当前OGRE在国内的地位. 翻译出了多年前做Away3D中国社区的时候翻译 ...
- ABP源码分析十九:Auditing
审计跟踪(也叫审计日志)是与安全相关的按照时间顺序的记录,它们提供了活动序列的文档证据,这些活动序列可以在任何时间影响一个特定的操作. AuditInfo:定义如下图中需要被Audit的信息. Aud ...
- 菜鸟学Struts2——HelloWorld
写在前面 自从工作后就过上了只有一个月记忆的生活,太健忘,很多学过的东西因为用得少便忘记了,第二次学习struts,为了以后便于查阅,开始自己的博客之旅.Struts的学习还是从Hello World ...
- ScrollView嵌套ListView,GridView数据加载不全问题的解决
我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...
- vscode常用设置
1.代码提示快捷键设置:(keybindings.json) { "key": "ctrl+j","command": "edit ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- java笔记--笔试中极容易出错的表达式的陷阱
我相信每一个学过java的人儿们都被java表达式虐过,各种"肯定是它,我不可能错!",然后各种"尼玛,真假,怎么可能?",虽然在实际开发中很少会真的让你去使用 ...