关闭

linux学习笔记----4

标签: shellgrep
166人阅读 评论(0) 收藏 举报
分类:

上午:

变量:

定义变量    name="mh"
    echo $name
取消变量    name=

echo $HOME
echo $SHELL

启动其他bash:

    csh
    bash

echo $SHLVL    查看开了几个shell
exit        退出shell


pstree | grep -A2 -B2 bash  显示bash的前两行和后两行

HEHE="haha"
export  HEHE    把普通变量转换成环境变量

* 本地变量只能在本shell中使用,子shell不能使用
环境变量本shell和子shell都能使用
定义环境变量的方法 export 变量名=值**
建立子shell :直接在shell中 csh bash

env     产看系统的环境变量

vim /etc/profile        系统环境变量的配置
vim ~/.bash_profile     用户配置的环境变量

bash                以普通方式建立shell启动
bash -l(login)      以登录的方式启动shell

1.登录时候加载的顺序

        /etc/profile
        /etc/bashrc
        ~/.bashrc
        ~/.bash_profile

2.如果以启动shell的方式打开终端
            只启动 /etc/bashrc
                    ~/.bashrc

3.退出登录shell执行 ~/.bash_logout

vim `which startx`  

    -

shell脚本:

startx      在图像界面没有启动的时候启动图形界面

#!/bin/bash     必须写在第一行,用于告诉系统该shell脚本用在那种shell解析

#   表示注释

执行shell的方式
    ./first.sh      在子进程执行

    bash first.sh   在子进程执行

    . first.sh      在本进程执行

    source first.sh     在本进程执行


shell 可以带参数
    $1 $2 ...接受参数
    ${1} ${2}...

    $? 上一条命令执行执行成功返回0
        上一条命令执行不成功返回非0
    $$    获得当前进程的pid

    $# 命令行参数个数

    $* 以单个字符串的形式接受所有命令行参数

下午:

测试文件:

    [ 测试条件 ]    真 0 假 1 
        -f  测试文件是否存在
        -d  目录          
        -l  符号链接
        -x  可执行
        -w  可写
        -r  可读
        -s  测试文件大小是否大于0

测试字符串:
[ = ]

        !=
        -z  字符串空,返回真
        -n  字符串不为空返回真

测试数字:
    -eq     =
    -gt     >
    -ge     >=
    -lt     <
    -ne     !=
    -le     <=

            [ 2 -eq 3 ]
            echo $?


    例   [ -f a.txt ];echo $?
        [ -f info.sh ];echo $?
        [ "$USER"="root" ];echo $?
        [ "this"="is" ]

算数表达式:
1:
[n + 1 ]

    n="2"
    m=$[ $n+1 ]
    echo $m
2:
    $(( ))	#不写成$()的原因是$()等价` `
3:
    expr 4 + 5  也可以写为

            n=`expr 4 + 5`
            echo $n
    expr 4 \* 5



    1 && 2      1为真 则2执行
    1 || 2      1为真 则2不执行

语句:

1:  if [ "&AA" ="root" ];then

        echo "nihao $AA"

    fi


2:  case $val(循环变量) in
        1)
            ****;;
        2)
            ****;;
        *)  
            ****;;
    esac


3:  for (( 1 ; 2 ; 3 ))
    do

    done


4:  for val in list  #每次循环从list中取一个值赋给val
    do

    done

    list 可以是

5:  while expr(表达式)
    do
        cmd
    done

函数:

函数名()
{

}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21159次
    • 积分:632
    • 等级:
    • 排名:千里之外
    • 原创:40篇
    • 转载:8篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论