精华内容
下载资源
问答
  • Linux shell脚本编写基础
  • 主要介绍了9个实战及面试常用Shell脚本编写,非常不错,具有一定的收藏价值,需要的朋友可以参考下
  • Linux shell 脚本编写

    万次阅读 多人点赞 2018-01-30 12:24:10
    1、Unix&Linux,GUN,Ubuntu,Red Hat,Fedora。 2、Linux用户管理。 —Root用户,普通用户,用户组。 —useradd,passwd,usermod,finger,sudo(su),groupadd,groups,whoami,who。 3、文件和目录操作。 ...

    知识点回顾:
    1、Unix&Linux,GUN,Ubuntu,Red Hat,Fedora。
    2、Linux用户管理。
    —Root用户,普通用户,用户组。
    —useradd,passwd,usermod,finger,sudo(su),groupadd,groups,whoami,who。
    3、文件和目录操作。
    —文件名和文件拓展名
    —层次的文件结构
    —In linux,Everything is file,if something is not file,it is ?(process)
    —文件类型:普通文件,符号链接文件,目录文件,设备文件等。
    —Touch,vim,cat,ls,pwd,cd,cp,rm,mkdir,rmdir,file。
    —Chmod,umask。
    —改变文件属主:chown。
    —改变文件用户组:chgrp。
    —其他的一些命令:more,less,tail,head,find。
    4、一个编辑器vi(vim)的使用
    —两种模式:编辑模式,命令模式。
    —Vi基本编辑功能:x, dd, i, c.
    —推出vi:q, q!, wq.

    参考资料
    1、鸟哥的linux私房菜:
    http://linux.vbird.org/linux_basic/0320bash.php#bash
    2、IBM shell编程系列:
    http://www.ibm.com/developerworks/cn/linux/shell/
    3、Linux Shell Scripting(详细英文文档) :
    http://bash.cyberciti.biz/guide/Main_Page

    Shell简介
    1、Shell是什么?
    Shell是系统的用户界面,提供了用户和内核进行互操作的一种接口。它接受用户的输入,并将命令传送到内核中去执行。此外,shell也能被系统中其他有效的linux实用程序和应用程序调用。
    这里写图片描述

    2、学习shell有何用途??
    —自动化工具:自动化软件测试等
    —文本处理:sed,awk
    —批处理
    —Unix界有一句名言:“一行shell脚本胜过万行C程序”
    —求职面试的需求:有兴趣去看看阿里,百度,腾讯等公司的招聘要求。只要是面向系统的几乎全部需要熟悉linux操作系统,熟悉shell编程。

    博主这边主要是在Android系统编译打包时要用到这个shell脚本文件,基本上都是用的这个shell脚本,去操作系统文件导入,压缩,copy,move,makedir,权限修改等,所以我们很有必要去了解这个shell程序的编写

    这里写图片描述
    build.makeimage代码片段:

    if [[ ! $SUDING_BT_VERSION -ne 1 ]];then
        echo "suding bt"
        #bin
        cp -vf $AUTOCHIPS_DIR/packages/externalsysapk/SUDINGBT/bin/*  $OUTPUT_SYS/bin
        #app
        cp -vf $AUTOCHIPS_DIR/packages/externalsysapk/SUDINGBT/apk/*  $OUTPUT_SYS/app
    
        #bt tools
        cp -vrf $AUTOCHIPS_DIR/packages/externalsysapk/SUDINGBT/tools/*  $OUTPUT_SYS
    
        #for bt app save the bt power state file
        if [ ! -f $OUTPUT_DIR/data/power_status ];then
            touch $OUTPUT_DIR/data/power_status
            chmod 666 $OUTPUT_DIR/data/power_status
        fi
    
        #rm mtk apk
        rm -rf $OUTPUT_SYS/app/AutoBT.apk
        rm -rf $OUTPUT_SYS/app/AutoBTService.apk
    else
        echo " mtk bt"
        rm -rf $OUTPUT_SYS/bin/blueletd
        rm -rf $OUTPUT_SYS/bin/bt_test
        rm -rf $OUTPUT_SYS/lib/libbluelet.so
        rm -rf $OUTPUT_SYS/lib/libbt_platform.so
        rm -rf $OUTPUT_SYS/bin/serial_rate_to_file
        rm -rf $OUTPUT_SYS/lib/libserialport_bt.so
        rm -rf $OUTPUT_SYS/app/AutoBtService.apk
        rm -rf $OUTPUT_SYS/app/AutoBtClient.apk
        rm -rf $OUTPUT_SYS/app/AutoBtMusic.apk
    fi

    Shell分类:各个shell中内置命令不相同

    Bourne shell(/bin/sh) 
    C shell(/bin/csh)
    Korn shell(/bin/ksh)
    Bourne again shell(/bin/bash)
    Tenex C shell(tcsh)

    Shell中的变量和变量的设定及使用

    1、shell本地变量:本地变量只在本shell中起作用。
    —变量无需声明
    —变量调用:在变量前加 ,echo HOME
    —unset删除变脸赋值
    —有条件命令替换:

    ${variable: -value}
    ${variable:=value}
    ${variable: +value}
    ${variable:?message}

    2、环境变量
    —查看环境变量:env
    —常见环境变量作用(实验作业)
    —export将一个局部变量提供给shell的其他命令使用
    —修改环境变量
    3、特定变量参数

    $#:传递给脚本的参数的个数
    $*:显示所有向脚本传递的参数
    $$:脚本运行的id号
    $!:后台运行的第一个进程的id号
    $?:最后一个命令执行情况,0表示没有错误
    $@:所有参数,每次参数使用””括起来

    Shell输入输出重定向
    重定向是什么?将shell命令的标准输入,输出,错误重定向到指定的文件中。

    这里写图片描述
    stdin(0表示):<, <<
    stdout(1表示):>, >>
    stderr(2表示):2>, 2>>
    /dev/null:黑洞

    Pipe
    Pipe是什么?将一个进程的标准输出连接到另外进程的标准输入。
    这里写图片描述
    Pipe简单应用
    —cut:从文件中的每一行剪切一定量的字符,送到stdout。
    —grep
    —sort,wc,uniq
    —tee –a [file],将管道中的数据写入[file]中,同时将数据写入stdin。
    这里写图片描述

    Shell 编写
    1、打造自己的shell编程环境
    —Shell功能
    —Shell中的变量和变量设定,使用
    —个人环境变量配置
    —Shell输入输出重定向
    —Shell中pipe
    2、第一个shell程序Hello Shell
    —Shell程序结构
    —执行shell程序
    3.Shell的输入输出
    4.Shell控制结构
    if – else
    do while
    for
    5.Shell中的函数
    6.Shell脚本调试

    下面编写shell脚本,了解程序结构
    这里写图片描述
    改变文件属性:sudo chmod +x helloshell.sh
    执行该文件: ./helloshell.sh或者是sh ./helloshell.sh

    这里写图片描述

    标准输出:echo,注意转移字符,\t, \n, \”等。
    这里写图片描述
    标准输入: read,cat
    这里写图片描述

    shell控制结构

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

    shell中的函数

    这里写图片描述

    这里写图片描述

    其实这个shell 编程语法表现的很随意,shell程序80%的时间基本上都是用于调试的。

    It bombs with a "syntax error" message, or
    It runs, but does not work as expected (logic error)
    It runs, works as expected, but has nasty side effects (logic bomb)
    

    那么该如何调试?
    1、在任何可能出错的地方使用echo打印变量的值。
    这里写图片描述
    2、使用tee命令在关键点检查数据流
    3、设置shell运行时参数
    sh -n your_script:返回所有的语法错误
    sh -x your_script:显示所有变量的值
    4、使用图形化的调试工具
    http://bashdb.sourceforge.net/
    这里写图片描述
    5、使用assert实现

    #!/bin/bash
    # filename: assert.sh
    
    assert ()                 #  If condition false,
    {                         #+ exit from script with error message.
      E_PARAM_ERR=98
      E_ASSERT_FAILED=99
    
      if [ -z "$2" ]          # Not enough parameters passed.
      then
        return $E_PARAM_ERR   # No damage done.
      fi
    
      lineno=$2
    
      if [ ! $1 ]
      then
        echo "Assertion failed:  \"$1\""
        echo "File \"$0\", line $lineno"
        exit $E_ASSERT_FAILED
      # else
      #   return
      #   and continue executing script.
    fi
    }
    
    
    a=5
    b=4
    condition="$a -lt $b"     # Error message and exit from script.
                              #  Try setting "condition" to something else,
                              #+ and see what happens.
    # assert failure
    assert "$condition" $LINENO
    

    demo点击下载

    另附相关参考资料及教程说明:
    http://www.linuxidc.com/Linux/2013-02/79468.htm
    使用env命令查看系统中的换将变量,并解释变量对应的含义。
    http://linux.vbird.org/linux_basic/0320bash.php
    Shell下的gui(libnotify-bin)编程
    http://blog.mpathirage.com/2009/09/12/using-libnotify-in-ubuntu-9-04/

    展开全文
  •   在升级应用时,我们常常会遇到升级数据库的问题,这就涉及到sql脚本的编写。   一般我们会通过写sql脚本,然后将xxx.sql脚本放到数据库中进行source xxx.sql执行。本篇文章,我们可以通过写shell脚本来执行...
  • Linux Shell脚本编写基础
  • Linux编写Shell脚本

    万次阅读 多人点赞 2018-10-08 11:22:35
    Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr 命令的用法 br 命令的用法 $[]符号的运算示例 Shell脚本的条件测试 几种条件测试语句 文件...
    展开全文
  • Linuxshell编写demo

    2018-01-30 15:52:34
    Linux shell编程,脚本编写!demo博客地址http://blog.csdn.net/u013171283/article/details/79204476
  • Shell脚本编写实战

    千人学习 2017-10-23 16:55:25
    根据实际的案例讲解怎么编写Shell脚本,在什么场景下编写为讲解导向。 课程内容如下: 1.编写Shell脚本注意事项与编写打印字体颜色函数 2.批量创建用户 3.监控主机存活状态 4.监控CPU、内存、硬盘和网卡流量利用率 5...
  • 主要介绍了Linux shell脚本编程if语句的使用方法,大家参考使用吧
  • 主要介绍了linux shell(.sh)脚本编写和运行入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • NULL 博文链接:https://fanshuyao.iteye.com/blog/1686226
  • linuxShell脚本编写实验7报告.pdf
  • 理解linux下面shell命令的执行的基本过程。
  • 主要介绍了linux环境下编写shell脚本实现启动停止tomcat服务的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • Linux Shell 实现自动化运维实践,非常详细,建议大家学习下载
  • Custom-Linux-Shell:编写我自己的自定义linux shell
  • Linuxshell脚本编写基础

    2013-08-29 02:21:07
    Linuxshell脚本编写基础 讲解linux 脚本的编写 适合自学Linux的同学
  • linux编写shell程序并执行

    万次阅读 多人点赞 2017-03-09 23:21:50
    linux编写shell程序并执行的步骤 简介 我是第一次写博客,不知道应该有什么格式和注意事项,请大家多多指教。 今天是要讲讲怎样在linux命令行环境下创建一个脚本程序并运行的。 这对于稍有经验的人来说都不是事...

    在linux编写shell程序并执行的步骤

    简介

    我是第一次写博客,不知道应该有什么格式和注意事项,请大家多多指教。

    今天是要讲讲怎样在linux命令行环境下创建一个脚本程序并运行的。

    这对于稍有经验的人来说都不是事,但对于初次接触linux的新手来说可能会遇到一点麻烦,所以我今天详细讲讲。

    进入vim编辑器,写代码

    vi编辑器是所有linux/UNIX操作系统中的标准编辑器,也是目前linux系统最基本的文本编辑器,主要工作在字符模式下,
    由于不需要图形界面支持,因此它的效率很高。
    怎么进入vim呢?在命令行中输入 vim 文件名

    例如,我要创建一个helloworld文件就输入

    vim helloworld


    回车后就进入了编辑模式。下图就是编辑模式



    但是现在还不能直接输入,要按一下键盘上的i,注意到左下角的文件名变成了INSERT,这就可以开始,敲代码了,如图



    保存文件,推出编辑

    怎样保存文件退出呢?先按下esc,再按冒号,最后输入wq,回车,如图



    执行

    执行的时候用命令 bash 文件名,在本例中就是
    bash helloworld
    执行结果如图


    如果你想用

    ./helloworld

    这种方式执行,需要先赋予用户可执行权限,如下

    chmod u+x helloworld

    chmod 命令可以修改目录和文件的访问权限,u代表文件的所有者,+代表添加后面的权限,x代表可执行权限 ,如图


    到这里,整个过程就讲解完了。

    第一次写博客,花了一个多小时,以后会写出更好的文章,请大家多多支持!




    展开全文
  • 【千锋LinuxShell脚本入门全套教程(103集),课程齐全,适合初学者,不是很详细,不是很完善,难度系数3颗星,就是常用的一些脚本编写的教程。包含pdf课件。
  • 完全使用Linux shell脚本语言编写的一个简单的作业管理系统
  • 自己实现类似cal函数的shell程序。
  • linux shell

    2018-08-03 15:16:10
    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
  • Linux-shell编写并运行脚本

    千次阅读 2019-04-29 03:16:01
    /bin/bash #告诉系统下面的东西要用sh这种shell执行 echo "hello world!" #此时编写完毕 按Esc推出编写模式 再输入 :wq #保存并退出文件 返回terminal终端,此时可以用 bash test1 执行...
    vi test1 #创建脚本文件test1

    然后按 i       #进入insert编写状态

    #!/bin/bash     #告诉系统下面的东西要用sh这种shell执行

    echo "hello world!"    #此时编写完毕

    按Esc推出编写模式

    再输入  :wq              #保存并退出文件

    返回terminal终端,此时可以用 bash test1 执行了!             #也可以把sh换成bash,另一种shell.

     

    如何变成  ./test1 模式执行?

    chmod u+x test1

    chmod 修改目录和文件的访问权限,u代表文件的所有者,+代表添加后面的权限。

    修改后可以直接  ./test1执行

     

    展开全文
  • Linux shell脚本语言必看书籍推荐

    千次阅读 2020-12-02 08:58:39
    以下书籍都是现在业内主流的Linux shell语言好书,同步收录在顶书,通过下面网址进入,实时读书: 顶书-提升IT技术和认知​i-book.top Linux Shell脚本攻略(第2版) 本书结合丰富的实际案例介绍了如何利用...
  • 资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
  • Linux命令行与shell脚本编程大全(第3版)》是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。 《Linux...
  • 基于linux下的shell脚本的编写

    万次阅读 多人点赞 2018-06-14 04:34:55
    (sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚c脚本练习:[root@localhost ~]# yum install gcc -y 安装gcc编译[root@localhost ~]# vim hello.c 编辑c语言文[root@localhos...
  • linuxshell编写班级点名神器

    千次阅读 2019-09-13 11:45:00
    shell脚本 #!/bin/bash N=`cat /root/Desktop/name.txt` #调用桌面的名单信息 NAME=($N) #将取出的信息放在数组NAME中 NUM=`expr $RANDOM % 42` #生成0-41的随机数,一共42个人,数组下标是0-41 echo ${NAME[$NUM]}...
  • 通过编写一段shell脚本,让linux服务器能够在开机的时候启动某个jar包,因此,shell脚本初步得有三个功能 1 判断jar包绑定的端口是否被占用 用最高的权限来查找占用的进程,并返回pid 如果占用,则用最高的权限kill...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 142,186
精华内容 56,874
关键字:

linuxshell下面编写

linux 订阅