Linux系统中shell使用知多少

1 PATH环境变量


2 重定向的使用

0 标注输入  默认键盘输入,可以用其他内容来重定向
1 标准输出  屏幕上的正确输出
2 错误输出  屏幕上的错误输出
&> 重定向全部输出

重定向符号有:
> >>  
2>&1 表示将错误的输出重定向为标准输出

例1
find /etc/ -name "*.conf" >> /tmp/file1 2>&1

例2
使用cat命令来演示重定向功能
cat > /tmp/file.txt << endf
hello world
endf


3 注意脚本中的特殊字符


4 ``与$()执行命令


5 变量调用的标准方式是 ${VARNAME},通常花括号被省略了


6 seq命令生成序列


7 $(())和$[]命令用于计算


8 for循环

for VAR in LIST;do
    COMMOND
done

 

9 脚本调式使用bash -x选项


10 位置变量

$0 表示脚本名

$# 传递的参数个数

$* 全部参数,是一次全取出来

$@ 也表全部参数,但是一个一个的取


11 命令的退出状态 $? ;0表示正确,非0表示错误

exit 数字  可以在脚本中指定退出状态


12 脚本中的判断

[ EXPRESSION ]或着test命令 用来做条件判断

判断的运算符有很多:

1)整数比较

-eq

-ne

-gt

-ge

-lt

-le


2)字符串比较

== 等

!=  不等


3)字符串求值

-z 字符串为空

-n 字符串不为空


4)文件的比较

-b 块文件

-c 字符文件

-d 目录

-e 文件存在

-f 常规文件

-L 符号链接文件

-r 有读权限的文件

-w 有写权限的文件

-x 有执行权限的文件

-s 文件大小大于零

-ef FILE1与FILE2的设备和索引节点编号相同

-nt FILE1的修改日期比FILE2晚

-ot FILE1的修改日期比FILE2早


5)逻辑运算

&& 与

|| 或


13 条件结构

1)if语句

if CONDITION1;then
    STATeMENT
elif CONDITION2;then
    STATEMENT
else
    STATEMENT
fi

 

2)case语句

case VALUE in
    PATTERN1)
        STATEMENT
        ...
        STATEMENT
        ;;
    PATTERN2)
        STATEMENT
        ...
        STATEMENT
        ;;
    PATTERN3|PATTERN4)
        STATEMENT
        ...
        STATEMENT
        ;;
    [a-z])
        STATEMENT
        ;;
    [0-9])
        STATEMENT
        ;;
    *)
        STATEMENT
        ;;     
esac

 

14 while循环语句

while CONDITION
do
    STATEMENT
done

此外,还有个常用的按行读取的用法:

while read CONDITION
do
    STATEMENT
done < INPUTSTREAM

 

15 关于环境变量

shell和脚本使用变量存储数据,某些变量可以与其内容一起传递到子进程,这些特殊的变量称为环境变量。通过export命令将变量标记为环境变量。

 

环境变量的一个使用场景就是用户登陆后初始化shell环境。通常执行的shell环境初始化脚本有(执行的顺序由上往下):

/etc/profile  #系统环境变量

   |__ /etc/profile.d

~/.bash_profile  #用户环境变量

   |__ ~/.bashrc

       |__ /etc/bashrc

 

登陆脚本一般分两种类型:配置文件和rc文件。

配置文件用于设置和导出环境变量,以及运行仅应在登陆后运行的命令;

rc文件(如,/etc/bashrc)用于运行命令,设置别名,定义函数以及无法导出到子shell的其他设置。

通常,配置文件仅在登陆shell中执行,而每次创建shell时执行rc文件。

 

16 别名alias

#生成别名
alias NEWCMD='CMDS'
#取消别名
unalias NEWCMD

 

17 使用函数

函数是一种隔离代码段的方法,可以用来重复调用而无需重新编写同样功能的代码

funcname() {
    STATEMENTS
}

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值