Chinaunix首页 | 论坛 | 博客
  • 博客访问: 175086
  • 博文数量: 84
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-26 12:56
文章分类

全部博文(84)

文章存档

2015年(83)

2014年(1)

我的朋友

分类: LINUX

2015-04-16 20:53:48

在linux系统下,sh是bash的符号链接。

shell有三种运行方式:
登录shell,
非登录的交互式shell    --如通过shell命令,
非登录的非交互式shell  --如通过执行shell脚本.

1. 登录shell
登录shell带上--login选项,
首先执行
/etc/profile   #通过设置这个文件,超级用户可以为所有bash用户的默认特征


2. 非登录的交互式shell
不执行任何初始化文件的命令,
直接使用从登录shell继承来的设置。

3. 非登录的非交互式shell
不执行任何初始化文件的命令,
直接使用从登录shell继承来的设置。

当执行一个程序时,
运行该程序的进程将为这个程序打开三个文件描述符:
0  : 标准输入,
1  : 标准输出,
2  : 标准错误输出。

重定向符号:
>  是 1>   的简写: 重定向标准输出;
<  是 0<   的简写: 重定向标准输入;
      2>         : 重定向标准错误输出;

2>&1  : 声明文件描述符2为文件描述符1的副本,
        意即,将标准错误重定向到标准输出.
1>&2  : 意即, 将标准输出重定向到标准错误输出.

表8-2 重定向操作符

shell脚本:
$chmod           # 使文件可执行
#! /bin/bash     # 指定bash shell
#                # 开始一行注释
; 或换行符       # 命令分隔符
\                # 继续上一行的命令
|                # 管道
&                # 后台执行
()               # 命令分组
VAR=value        # 将值赋给变量VAR
readonly VAR     # 使变量VAR的值不可变更
declare或typeset VAR  # 对变量VAR赋与属性
declare或set          # 列出所有shell变量
typeset -i CNT        # 将CNT指派为整数属性
表8-3


if [test [=value]]  #条件结构
   commands
else
   commands
endif

[function] function-name()   #声明一个shell函数
{
  commands
}
关键字变量:
HOMME            # 用户主目录
~                # HOME的简写形式
PATH             # shell查找程序的路径
表8-5


操作目录栈
$dirs              # 显示栈
$pushd  [dirpath]  # 将目录dirpath压入栈中
$pushd             # 交换栈顶最上面的两个目录,
                     并将当前的栈顶目录作为新的工作目录
$popd              # 弹出栈顶目录,并设为新的工作目录

8.5 历史命令机制
表8-7

$fc -l                 # 查看历史命令列表
$fc -l [first [last]]  # 指定范围查看
$fc [-e editor] [first [last]] #编辑和重新执行前面的命令

表8-8
                    

alias [name[=value]]   # 别名
阅读(581) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~