Linux Shell

 

linux的两个著名的编译器VIM   Emacs

重要的环境变量

DISPLAY  当前的 X 显示 (通常是 :0.0)

HOME     用户的主目录EDITOR   首选的编辑器 (vi,emacs,)

 

HOSTNAME 计算机的名字

LESS     启动 less 命令时的默认开关

MANPATH  为找出帮助手册列出目录

MORE     启动 more 命令的默认开关

PAGER    首选的阅读器(more, less 等)

PATH     为搜索命令而列出目录表    (非常重要,要理解原理)

PS1      Shell Prompt

PWD      当前工作目录

SHELL    当前 shell (通常为 /bin/bash)

TERM     当前终端

 

 

•   字符串比较:

•   -z string 若string长度为0,则为真
-n string 若string长度不为0,则为真
string1 = string2 若两个字符串相等,则为真
string1 != string2 若两个字符串不相等,则为真

 

•   数字比较:

•   int1 -eq int2 若int1等于int2,则为真
int1 -ne int2 若int1不等于int2,则为真
int1 -lt int2 若int1小于int2,则为真
int1 -le int2 若int1小于等于int2,则为真
int1 -gt int2 若int1大于int2,则为真
int1 -ge int2 若int1大于等于int2,则为真

•   !expr 若expr为假则复合表达式为真。expr可以是任何有效的测试表达式
expr1 -a expr2 若expr1和expr2都为真则整式为真
expr1 -o expr2 若expr1和expr2有一个为真则整式为真

•   特殊变量

•   $0 正在被执行命令的名字。对于shell脚本而言,这是被激活命令的路径
$n 该变量与脚本被激活时所带的参数相对应。n是正整数,与参数位置相对应($1,$2…)
$# 提供脚本的参数号
$* 所有这些参数都被双引号引住。若一个脚本接收两个参数,$*等于$1$2
$@ 所有这些参数都分别被双引号引住。若一个脚本接收到两个参数,$@等价于$1$2
$? 前一个命令执行后的退出状态
$$ 当前shell的进程号。对于shell脚本,这是其正在执行时的进程ID
$! 前一个后台命令的进程号

 今天晚上做的一个题,编写一个脚本。把一个目录下的所有格式的压缩包解压到另一个目录下。刚开始纠结半天。但还是被我搞出来了!

#! /bin/bash

ls $1>in.txt
while read var1
do
    case $var1 in
        *.tar.gz)
            tar xzf $var1 -C $2;;
        *.tar.bz2)
            tar xjf $var1 -C $2;;
        *.zip)
            unzip $var1 -d $2;;
        *.tar)
            tar xf $var1 -C $2;;
    esac
done<in.txt

明天继续!

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值