您的位置:首页 > 运维架构 > Shell

shell环境设定

2014-02-23 12:11 197 查看
shell也是应用程序,工作于用户模式;运行为进程;

shell进程用于提供命令行界面:提供一系列工作特性,有些特性可以自行设定;

bourn: shell, bsh --> sh
BSD: Berkeley System Distribution, csh

korn --> ksh

bash --> Bourn Again SHell, bash

/etc/shells: tcsh, dash
/sbin/nologin: 不能登录
# useradd -s /sbin/nologin mongodb

解释器:
理解其它命令,并且让命令执行起来;
理解语句,并且能根据流程控制机制让语句按需执行;

编译器:
理解源程序,并且能够将源程序转换为二进制格式,而后让其够执行;

程序文件:源代码
解释器:
由解释器负责读取一句执行一句;
编译器:
事先,将整个程序转换成二进制格式,而后执行;

程序开发语言:
解释型语言:perl, python, ruby, bash
也称为动态语言
编译型语言:C, C++, C#
也称为静态语言

变量:内存空间,可用于存储数据
变量类型:数据存储格式,数据表示范围;
整型
浮点型
字符型
布尔型

整数:11, 4bits, 8bits
1011
字符:ASCII, 所有基本字符共128个,至少7bits来表示所有的基本字符;
1:8bits
1: 8bits
浮点:11.00,近似值
单精度
双精度

要使用变量,其步骤通常是:
1、声明:要指定其类型;
声明的同时,给其一个初始值,这个叫做变量的初始化;
2、赋值:
int V=3;

bash: 交互式接口,提供编程环境

变量:
弱类型语言:
1、不强制区分变量类型,无论存储什么数据,默认均以字符格式存储;
2、不需要事先声明;用到时,直接使用,直接赋值;

定义变量:
[set] VAR_NAME=Value

引用变量:
${VAR_NAME}

撤消变量:
unset VAR_NAME

bash变量类型:
本地变量:只对当前shell进程有效;对其子shell及其它shell都无效;
局部变量:local VAR_NAME=Value,仅对局部代码有效,其作用范围不包括当前shell的所有位置;
环境变量:export VAR_NAME=Value, 对当前shell及其子shell有效;
位置变量:$1, $2, ...
特殊变量:$$, $!, $#, $?

bash变量也可声明,甚至可以指定类型:declare
declare -i VAR_NAME: 声明一个整型变量
declare -x VAR_NAME: 声明一个环境变量
declare -a VAR_NAME: 声明一个数组

bash查看环境变量的命令:
printenv
export

查看所有变量:
set

变量引用:${VAR_NAME}
变量替换:只有在双引号中才能实现,

bash的引号:
双引号:弱引用,可以实现变量替换;
单引号:强引用,不替换,而显示字符串本身;
反引号:命令引用, ``, $()
`date`

bash特性:
变 量
快捷键
命令别名
命令行展开:{}, ~
管道
输入、输出重定向
编程
命令行补齐
路径补全

bash的快捷键:
Ctrl+a: 跳至命令行首
Ctrl+e: 尾
Ctrl+u: 删除命令行首至当前光标所在处的内容
Ctrl+k: 删除当前光标所有处至命令行尾的内容
Ctrl+l: 清屏,相当于clear命令
Ctrl+c: 取消或终止;
Ctrl+z: 将当前命令送至后台
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息