Linux 之 Shell 知识

1. 在编写shell时,第一行一定要指明系统需要那种shell解释你的shell程序,
#! /bin/bash
#! /bin/csh,/bin/tcsh,
#! /bin/pdksh

2. 执行shell程序文件有三种方法
# . file  
#chmod +x file  //+用于设置权限  - 用于取消
#sh file


3. 如果需要查找this.cmd = new String[] { "/bin/sh", "-c", shellCmd };  该命令中 /bin/sh -c 参数的作用,在在命令行下输入

> man sh  

> /-c


4. if [$#  -ne  1];then  表示如果参数不等于1

$# 表示提供到shell脚本的参数总数  $1 表示第一个参数

-ne 表示  不等于

-eq 等于、-gt 大于 、-ge大于等于、-lt 小于、-le小于等于

5. Linux shell  I/O 重定向

 1)基本概念

a、I/O重定向通常与 文件描述符FD(File Descriptor) 有关,shell的FD通常为10个,即0~9;

b、常用的FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(Stderr,标准错误输出)默认与设备keyboard、monitor、monitor有关;

c、用 < 改变读进的数据信道(stdin),使之从指定的档案读进;

d、用 > 改变送出的数据信道 (stdout,stderr),使之输出到指定的档案;

e、0 是 < 的默认值,因此< 与 0< 是一样的; > 与 1> 是一样的;

f、管道 “|” 上一个命令的 stdout 接到下一个命令的 stdin;

g、exec只有在对文件描述符进行操作时,exec才不会覆盖你当前的shell 环境。

2)基本IO

cmd > file  把 stdout 重定向到 file 文件中

cmd >>file  把 stdout 重定向到 file 文件中(追加)

cmd 1 > file  把 stdout 重定向到 file 文件中

cmd > file 2>&1  把 stdout 和 stderr 一起重定向到file 文件中

cmd  < file  > file2  cmd 命令以file 文件作为 stdin, 以 file2 文件作为stdout

cat <>file  以读写方式打开file

cmd << delimiter     从stdin中读入,直至遇到delimiter分界符

3)进阶IO

>&n    使用系统调用  dup(2)复制文件描述符 n 并把结果用作标准输出

<&n    标准输入复制自文件描述符n

<&-     关闭标准输入(键盘)

>&-     关闭标准输出

n<&-     将 n 号输入关闭

n>&-     将  n 号输出关闭

exec 5>&-    关闭 FD5







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值