第八章、bash脚本编程(中)

ANSYS Workbench瞬态结构分析(1)时域分析 本文围绕瞬态结构分析展开。首先阐释其概念与理论基础,涵盖控制方程及数值求解方法。接着详述在 ANSYS Workbench 中进行瞬态分析的操作流程,以音叉为例,介绍从创建分析系统、材料定义、几何处理与网格划分,到边界条件与载荷设置、求解器设置及结果后处理的各步骤。之后对分析结果进行探讨,并针对计算不收敛、计算时间过长等常见问题给出调试技巧,旨在为读者提供全面的瞬态结构分析知识与实践指导。 阅读详情

第八章、bash脚本编程(中)


07_02_bash脚本编程之六 使用脚本选项及组合条件测试(39 - $)

 

10. 写一个脚本: 

1、添加10个用户user1到user10,密码同用户名;但要求只有用户不存在的情况下才能添加;

 

2. 扩展: - 答案为adminusers.sh

接受一个参数:

add: 添加用户user1..user10

del: 删除用户user1..user10

其它:退出


3. 参数指定 添加/删除 多个用户 - 答案为adminusers2.sh

adminusers --add user1,user2,user3,hello,hi

 

11. 写一个脚本:

计算100以内所有能被3整除的正整数的和;

取模,取余:%

3%2=1

100%55=45

 

12. 写一个脚本:

计算100以内所有奇数的和以及所有偶数的和;分别显示之;

 

let I=$[$I+1]

SUM=$[$SUM+$I]

 

let SUM+=$I

 

let I+=1 相当于 let I++

 

-=

         let I-=1 相当于 let I--

        

         ++I, --I

 

*=

/=

%=

 

13. 写一个脚本:

分别显示当前系统上所有默认shell为bash的用户和默认shell为/sbin/nologin的用户,并统计各类shell下的用户总数。显示结果形如:

BASH,3users,they are:

root,redhat,gentoo

 

NOLOGIN, 2users, they are:

bin,ftp

 

 

#!/bin/bash

#

NUMBASH=`grep "bash$" /etc/passwd | wc -l`

BASHUSERS=`grep "bash$" /etc/passwd | cut -d: -f1`

BASHUSERS=`echo $BASHUSERS | sed 's@[[:space:]]@,@g'`

 

echo "BASH, $NUMBASH users, they are:"

echo "$BASHUSERS

 

组合测试条件

         -a: 与关系

         -o: 或关系

          !:非关系

        

if [ $# -gt 1 -a $# -le 3 ]

if [ $# -gt 1 ] && [ $# -le 3 ]

 

练习: - 答案为 quit.sh

判断参数是不是在:q, Q, quit, Quit中。



08_01_facl及用户及Linux终端(65 - $)


生成随机数

RANDOM 系统内置环境变量可以生成随机数,范围: 0-32768

 

随机数生成器:熵池,保存很多随机数,可能取空

/dev/random: 熵池空时,阻塞,更安全

/dev/urandom: 熵池空时,软件模拟生成,



08_02_bash脚本编程之七 case语句及脚本选项进阶


练习:

写一个脚本,利用RANDOM生成10个随机数,并找出其中的最大值,和最小值;答案为random.sh

#!/bin/bash

#

declare -i MAX=0

declare -i MIN=0

 

for I in {1..10}; do

  MYRAND=$RANDOM

  [ $I -eq 1 ] && MIN=$MYRAND

  if [ $I -le 9 ]; then

    echo -n "$MYRAND,"

  else

    echo "$MYRAND"

  fi

  [ $MYRAND -gt $MAX ] && MAX=$MYRAND

  [ $MYRAND -lt $MIN ] && MIN=$MYRAND

done

 

echo $MAX, $MIN

 

#!/bin/bash

#

for i in {1..10}; do

    NUMS+=$RANDOM" "

done


MAXNUM=`echo $NUMS | cut -d' ' -f1`

MINNUM=$MAXNUM


for i in $NUMS; do

    [ $i -gt $MAXNUM ] && MAXNUM=$i 

    [ $i -lt $MINNUM ] && MINNUM=$i 

done


echo $NUMS

echo "max: $MAXNUM"

echo "min: $MINNUM"




面向过程的控制结构包括:

                   顺序结构

                   选择结构

                   循环结构

 

选择结构:fi和case语句

if: 单分支、双分支、多分支

if CONDITION; then

  statement

  ...

fi

 

if CONDITION; then

  statement

  ...

else

  statement

  ...

fi

 

if CONDITION1; then

  statement

  ...

elif CONDITION2; then

  statement

  ...

esle

  statement

  ...

fi

 

case语句:选择结构

 

case SWITCH in

value1)

  statement

  ...

  ;;

value2)

  statement

  ...

  ;;

*)

  statement

  ...

  ;;

esac

 

value可以使用: - 例如case.sh

a-z

A-Z

0-9

[abc]

 

写debug.sh练习case的使用


练习:写一个脚本,实现功能:添加删除用户,显示详细信息 - 答案为adminusers3.sh

#!/bin/bash

#

DEBUG=0

ADD=0

DEL=0

 

for I in `seq 0 $#`; do

  if [ $# -gt 0 ]; then

           case $1 in

           -v|--verbose)

                   DEBUG=1

                   shift ;;

           -h|--help)

                   echo "Usage: `basename $0` --add USER_LIST --del USER_LIST -v|--verbose -h|--help"

                   exit 0

                   ;;

           --add)

                   ADD=1

                   ADDUSERS=$2

                   shift 2

                   ;;

           --del)

                   DEL=1

                   DELUSERS=$2

                   shift 2

                   ;;

           *)

                   echo "Usage: `basename $0` --add USER_LIST --del USER_LIST -v|--verbose -h|--help"

                   exit 7

                   ;;

    esac

  fi

done

 

if [ $ADD -eq 1 ]; then

  for USER in `echo $ADDUSERS | sed 's@,@ @g'`; do

    if id $USER &> /dev/null; then

      [ $DEBUG -eq 1 ] && echo "$USER exists."

    else

      useradd $USER

      [ $DEBUG -eq 1 ] && echo "Add user $USER finished."

    fi

  done

fi

 

if [ $DEL -eq 1 ]; then

  for USER in `echo $DELUSERS | sed 's@,@ @g'`; do

    if id $USER &> /dev/null; then

      userdel -r $USER

      [ $DEBUG -eq 1 ] && echo "Delete $USER finished."

    else

      [ $DEBUG -eq 1 ] && echo "$USER not exist."

    fi

  done

fi



08_03_磁盘及文件系统管理详解之一(^-15)


练习:写一个脚本showlogged.sh,其用法格式为:

showlogged.sh -v -c -h|--help

其中,-h选项只能单独使用,用于显示帮助信息;-c选项时,显示当前系统上登录的所有用户数;如果同时使用了-v选项,则既显示同时登录的用户数,又显示登录的用户的相关信息;如 

Logged users: 4.

 

They are:

root     tty2         Feb 18 02:41

root     pts/1        Mar  8 08:36 (172.16.100.177)

root     pts/5        Mar  8 07:56 (172.16.100.177)

hadoop   pts/6        Mar  8 09:16 (172.16.100.177)

 

#!/bin/bash

#

declare -i SHOWNUM=0

declare -i SHOWUSERS=0

 

for I in `seq 1 $#`; do

  if [ $# -gt 0 ]; then

    case $1 in

    -h|--help)

      echo "Usage: `basename $0` -h|--help -c|--count -v|--verbose"

      exit 0 ;;

    -v|--verbose)

      let SHOWUSERS=1

      shift ;;

    -c|--count)

      let SHOWNUM=1

      shift ;;

    *)

      echo "Usage: `basename $0` -h|--help -c|--count -v|--verbose"

      exit 8 ;;

    esac

  fi

done

 

if [ $SHOWNUM -eq 1 ]; then

  echo "Logged users: `who | wc -l`."

  if [ $SHOWUSERS -eq 1 ]; then

    echo "They are:"

    who

  fi

fi

 

 

终端类型:

         console: 控制台

         pty: 物理终端 (VGA)

         tty#: 虚拟终端 (VGA)

         ttyS#: 串行终端

         pts/#: 伪终端

        



练习:写一个脚本

通过命令行传递一个文件路径参数给脚本:

         如果参数多了或少了,报错;

         如果参数指定的路径对应的是目录而不是文件,报错;

而后,检查路径指定的文件是否为空或不存在,如果是,则新建此文件,并在文件中生成如下内容

#!/bin/bash

#

而后,使用vim编辑器打开此文件,并让光标处于这个文件的最后一行;

 #!/bin/bash

if [ ! $# -eq 1 ]; then

    echo "Usage: `basename $0` filepath"

    exit 1

fi

if [ -d $1 ]; then

    echo $?

    echo "The file path is directory!"

    exit 2

fi

if [ ! -e $1 ]; then

    echo -e "#!/bin/bash\n#" > $1

    vim $1

    exit 3

fi

if grep "[^[:space:]]" $1 &>/dev/null; then

    vim + $1

    exit 4

else

    echo -e "#!/bin/bash\n#" > $1

    vim $1

    exit 3

fi

 

 

写个脚本,按如下方式执行:

mkscript.sh -v|--version VERSION -a|--author AUTHOR -t|--time DATETIME -d|--description DESCRIPTION -f|--file /PATH/TO/FILE -h|--help

 

1、此脚本能创建或打开-f选项指向的文件/PATH/TO/FILE;如果其为空文件,能自动为其生成第一行;如果文件不空,且第一行不是#!/bin/bash,则中止此脚本,并报错“The file is not a bash script.";否则,则直接使用vim 打开此文件;

提示:/PATH/TO/FILE,要判断其目录是否存在;如果不存在,则报错;

 

2、如果为空文件,自动生成的第一行内容为:

#!/bin/bash

3、如果为空文件,且使用了-a选项,则在文件中添加“# Author: -a选项的参数”,比如:

# Author: Jerry

4、如果为空文件,且使用了-t选项,则在文件中添加“# Date: 脚本执行-t选项后指定的时间”,比如:

# Date: 2013-03-08 18:05

5、如果为空文件,且使用了-d选项,则在文件中添加“# Description: -d选项的内容”,比如:

# Description: Create a bash script file head.

6、如果为空文件,且使用了-v选项,则在文件添加“# Version: -v后跟的参数”,比如:

# Version: 0.1

7、-h选项只能单独使用,用于显示使用帮助;

8、其它选项,显示帮助信息;

 

说明:

这是一个用于创建脚本的脚本,它可以自动帮助创建一个bash脚本的文件头,这样,以后使用此脚本来创建其它脚本将变得比较高效。比如:

#!/bin/bash

# Author: Jerry(jerry@magedu.com)

# Date: 2013-03-08 18:05

# Description: Create a bash script file head.

# Version: 0.1

#

 

 

 #!/bin/bash

#

print_help()

{

    echo "Usage: `basename $0` [options]"

    echo "Options:"

    echo -e "\t -t|--time"

    echo -e "\t -a|--author AUTHOR"

    echo -e "\t -v|--version VERSION"

    echo -e "\t -f|--file /PATH/TO/FILE"

    echo -e "\t -d|--description DESCRIPTION"

    echo -e "\t -h|--help"

    exit 1

}

[ $# -eq 0 ] && print_help

while [ $# -gt 0 ]; do

    case $1 in

        -f|--file)

        FILE=$2

        shift 2;;

        -a|--author)

        AUTHOR=$2

        shift 2;;

        -t|--time)

        DATE=`date "+%F %T"`

        shift;;

        -d|--description)

        DESCRIPTION=$2

        shift 2;;

        -v|--version)

        VERSION=$2

        shift 2;;

        -h|--help)

        print_help

        exit 1;;

        *)

        print_help

        exit 1;;

    esac

done

if [ -f $FILE ]; then

    if grep "[^[:space:]]" $FILE &>/dev/null; then

        if [ `head -1 $FILE` != "#!/bin/bash" ]; then

            echo "The file is not a bash script."

            exit 3

        else

            vim + $FILE

            exit 2

        fi

    fi

fi

if [ -d $FILE ]; then

    echo "$FILE is a directory."

    exit 3

fi

echo "#!/bin/bash" >> $FILE

[ -n "$AUTHOR" ] && echo "# Author: $AUTHOR" >> $FILE

[ -n "$DATE" ] && echo "# Date: $DATE" >> $FILE

[ -n "$DESCRIPTION" ] && echo "# Description: $DESCRIPTION" >> $FILE

[ -n "$VERSION" ] && echo "# Version: $VERSION" >> $FILE

echo "#" >> $FILE

vim + $FILE

 

 

 

 

bss: Block Started by Symbol

 

readelf -h

readelf -S

objdump -h

 

ELF魔数、文件机器字节长度、数据存储方式、版本、运行平台、ABI版本、ELF重定位类型、硬件平台、硬件平台版本、入口地址、程序头入口和长度、段表的位置和长度、段的数量。



09_04_Linux压缩及归档 (66分钟-$)

脚本编程3种控制结构:

         1. 顺序结构

         2. 选择结构

                   if

                   case

         3. 循环结构

                   for

                   while

                   until

                  

while循环:适用于循环次数未知的场景,要有退出条件

语法:

         while CONDITION; do

           statement

           ...

         done

        

练习:计算100以内所有正整数的和

 

#!/bin/bash

declare -i I=1

declare -i SUM=0

 

while [ $I -le 100 ]; do

  let SUM+=$I

  let I++

done

 

echo $SUM

 

练习:转换用户输入的字符为大写,除了quit:

#!/bin/bash

#

read -p "Input something: " STRING

 

while [ $STRING != 'quit' ]; do

  echo $STRING | tr 'a-z' 'A-Z'

  read -p "Input something: " STRING

done

 

练习:每隔5秒查看hadoop用户是否登录,如果登录,显示其登录并退出;否则,显示当前时间,并说明hadoop尚未登录:

#!/bin/bash

#

who | grep "hadoop" &> /dev/null

RETVAL=$?

 

while [ $RETVAL -ne 0 ]; do

  echo "`date`, hadoop is not log."

  sleep 5

  who | grep "hadoop" &> /dev/null

  RETVAL=$?

done

 

echo "hadoop is logged in."



10_01_Raid及mdadm命令之一 (^ - 17)


写一个脚本:

1) 显示一个菜单给用户:

d|D) show disk usages.

m|M) show memory usages.

s|S) show swap usages.

*) quit.

2) 当用户给定选项后显示相应的内容;

  

扩展:

         当用户选择完成,显示相应信息后,不退出;而让用户再一次选择,再次显示相应内容;除了用户使用quit;


#!/bin/bash

#

cat << EOF

d|D) show disk usages.

m|M) show memory usages.

s|S) show swap usages.

*) quit.

EOF

 

read -p "Your choice: " CHOICE

while [ $CHOICE != 'quit' ];do

  case $CHOICE in

  d|D)

    echo "Disk usage: "

    df -Ph ;;

  m|M)

    echo "Memory usage: "

    free -m | grep "Mem" ;;

  s|S)

    echo "Swap usage: "

    free -m | grep "Swap" ;;

  *)

    echo "Unknown.." ;;

  esac

 

read -p "Again, your choice: " CHOICE

done        

 

控制echo显示文字的颜色以及显示效果

echo -e "\033[1;31;41mHello\033[0m,world"

[31m: 两位数字控制颜色,第一位表示控制前/背景色,3-前景色,4-背景色,

[1m: 一位数字控制字体,加粗,闪烁,下划线等,1为加粗

\033 - ctrl键


echo显示字体颜色  http://blog.chinaunix.net/uid-8504518-id-2030688.html



Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具 本文内容参考Joseph Perl 的线上会议,视频详情可见于,该视频会议内容主要介绍Topas功能、软件架构、工作流程、参数设定、物理模型、具体案例等,对TOPAS的基本入门使用方法以及使用规定作出阐述。 阅读详情

相关推荐

一文搞懂深度学习:最全神经网络介绍

本文是深度学习系列文章的第二篇,我们将深入探讨各种类型的人工神经网络,探索它们独特的特性和应用。

2402_82802238的博客 2801

Shell编程学习Day04

shift命令 每执行一次shift,参数的序列左移,$#的值减1 举例:输出累加和 #!/bin/bash if [ $# -le 0 ] then echo "no parameters" fi sum=0 while [ $# -gt 0 ] do sum=`expr $sum + $1` shift done echo $sum 这里的$sum + $1并不是sum+1的意...

hhelicopter的博客 473

BQ25798双电源输入4节电池升降压充电与最大功率跟踪于光伏板应用

介绍一颗具有窄范围直流电压NVDC、路径管理PPMT、光伏板最大功率跟踪及反向放电OTG升降压充电控制器,带I2C接口能对内部寄存器做控制

linkedin_38804946的博客 1681

shell 值判断,大于0,等于0,小于0,大于等于0,小于等于0,不等于0

寞水

寞水 5万+

【信创-k8s】银河麒麟V10国防版+鲲鹏/飞腾(arm64架构)在线/离线部署k8s1.30+kubesphere

银河麒麟作为国家核高基专项的重要成果,国防版凭借其卓越的安全性和可靠性,已成为军工领域的首选操作系统。之前我们在适配麒麟V4国防版的过程中已发现诸多安全性要求,而麒麟V10国防版在安全防护等级上又达到了更高的级别。本文将主要演示离线部署,因为军工项目基本不会出现联网场景。即使在线,也可以按离线方式部署,且离线部署由于有私有仓库,不会存在镜像获取不到和丢失情况。

jiaworld的博客 730

【WorkBuddy专栏25】如何选择大模型——积分消耗、用途场景、选型决策全指南

【WorkBuddy专栏25】如何选择大模型——积分消耗、用途场景、选型决策全指南

AI人人懂 945

Shell学习笔记(13)-流程控制之函数

函数声明     语法1     function 函数名称(){         命令区域     }     语法2     函数名称(){         命令区域     }     语法3     function 函数名称{         命令区域     } 函数调用     函数名称     函数名称 参数1 参数2 参数3 示例     #

八荒六合唯我独尊 604

安卓手机老版本微信无法登录?无需root 一招教你如何搞定!旧版本照样登录,微信7.0亲测有效

微信我试了清缓存、用不同的版本、甚至关网登录都不行。于是我研究了一下背后的原理,发现这不仅是个技巧,还是微信设计的一点“疏忽”——**只要有方法,旧版本照样能用**。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1万+

shell学习

[ "${BOARD_NAME}" ] || BOARD_NAME="$1" 有或的意思,如果||前的[]中不为NULL,那么||后面的就屏蔽了,很不幸,这里||前面部分却为NULL,所以BOARD_NAME=fs2410(第一个参数的值) [ $# -lt 4 ] && exit 1 [ $# -gt 6 ] && exit 1 第一个是小于4 第二个是大于6 有且的

quanguoheme的专栏 1803

【WRF安装(2025)】服务器移植 WRF 安装环境

【WRF安装(2025)】服务器移植 WRF 安装环境

WW、forever的博客 107

非技术面试题精选大全

回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业喜欢有礼貌的求职者。

吃面爱放香菜的博客 435

第八章、bash脚本编程(上)

第八章、bash脚本编程(上)05_02_bash脚本编程之一 变量、变量类型等shell编程: 脚本编程 语言转换器:编译器,解释器 编程语言:机器语言、汇编语言、高级语言 静态语言:编译型语言         特点:强类型(变量)                     事先转换成可执行格式         包括:C、C++、JAVA、C#        动态语言:解释型语言, on the

云笔记,记录工作学习中遇到的问题,希望对你有帮助 2084

华为昇腾(Ascend)开发考试原题目解析 (2024) (题库一)——HCIP-AI-Ascend Developer——第一部分

给出一段代码如下,以下哪个选项描述错误?...A.中的语句由 MindSpore 接管,有语法限制B. 算子在中定义,并用来建立网络C.__init__()中的语句由 Python 解析执行D. 网络定义必须继承基类nn.Cell正确答案: B__init__()用于定义算子和网络层。所有需要用到的层(如卷积层、全连接层等)都应该在这里进行实例化。这部分代码由Python解释器执行。用于构建前向计算图。它调用在__init__()中定义好的算子和层来描述数据的流向。

qq_38334677的博客 1054

面向渗透测试者的 Bash 脚本编程(一)

Bash shell 脚本编写是渗透测试人员工具包中的基本技能,可以实现复杂安全评估、漏洞分析和利用任务的自动化。本书提供了一本专门为渗透测试而编写的 Bash 脚本编写的全面指南,涵盖了从基本脚本概念到逃避检测和与人工智能等现代技术集成的高级技术。本书分为三个部分,引导读者从基础概念,通过实际的渗透测试应用,到高级主题。您将学习如何利用 Bash 进行侦察、Web 应用程序测试、网络基础设施评估、权限提升和维持持久性。本书强调通过实际示例和渗透测试人员在日常工作中遇到的真实场景进行实践学习。

龙哥盟 959

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

linux笔记-bash脚本编程(中)

第八章、bash脚本编程(中) 07_02_bash脚本编程之六 使用脚本选项及组合条件测试(39 - $)   10. 写一个脚本:  1、添加10个用户user1到user10,密码同用户名;但要求只有用户不存在的情况下才能添加;   2. 扩展: - 答案为adminusers.sh 接受一个参数: add: 添加用户user1

xiaobudaics的专栏 1023

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

精通 Bash(一)

Bash 是一个常见的日常任务工具,几乎每个 Linux 用户都依赖它。无论你想做什么,都需要登录到 shell,大多数时候,使用的就是 Bash。本书旨在解释如何使用这个工具,充分发挥它的作用,无论是编写插件、网络客户端,还是简单地解释为什么双点表示它的意思,我们都将比平时更深入探讨,帮助你完全掌握 shell。从基础开始,但换个角度看待,我们将一步一步向上攀升,专注于我们环境中的编程部分,探索如何防止在设置重复任务时出现问题,并确保一切顺利运行。做到一次,花点时间,调试、改进,然后“一劳永逸”;

龙哥盟 1383

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

精通 Linux 脚本编程第二版(一)

bash 脚本的基本思路是执行多个命令,以自动化特定的任务。正如你所知道的,你可以通过使用分号(;ls;pwd前一行是一个迷你 bash 脚本。第一个命令运行后,紧接着是第二个命令的结果。你在 bash 脚本中输入的每一个关键字实际上都是一个 Linux 二进制程序(程序),即使是if语句,或else或while循环。所有这些都是 Linux 可执行文件。你可以说,shell 是将这些命令连接在一起的“胶水”。要声明一个变量,只需输入你想要的名称,并通过等号()设置其值。/bin/bash。

龙哥盟 1210

第八章 SHELL脚本编程基础

SHELL脚本编程基础 编程基础 Linus: Talk is cheap,show me the code(光说不练,给我看代码) 程序 程序:算法+数据结构 数据:是程序的核心 数据结构:数据在计算机中的类型和组织方式 算法:处理数据的方式 程序编程风格: 对象式:以数据为中心,指令服务于数据 过程式:以指令为中心,数据服务与指令 shell程序:提供了编程能力,解释执...

19:30的博客 312

bash shell脚本常用功能

转自:http://blog.sina.com.cn/s/blog_803458bd0101egd3.html 目录: 第一章 简介   $ 表示普通用户   #!/bin/bash   ~/.bashrc   ~/.bash_history 第二章 终端打印   1,echo输出   2, printf输出 第三章 变量和环境变量   env命令 查看当前终端的

death_kada的博客 982

第八章Shell脚本编程

将管道符号“|”左侧的命令输出的结果,作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道。/dev/null :Linux回收站 > /dev/null直接丢回收站。重定向输出 > 将标准输出结果 保存 到指定的文件,并且覆盖原有内容。重定向错误输出 2> 将错误信息 保存 到指定的文件,并且覆盖原有内容。>> 将标准输出结果 追加 到指定的文件的尾部,不覆盖原有内容。2>> 将错误信息 追加 到指定的文件的尾部,不覆盖原有内容。

weixin_48209518的博客 561

《Linux命令行与shell脚本编程大全》 第八章 学习笔记

第八章:安装软件程序 包管理基础 每个主要的Linux发行版都利用包管理系统的某些形式来控制安装软件应用和库 PMS(Package Manager System)利用一个数据库来记录: 1.Linux系统上已安装了什么软件包 2.每个包安装了什么文件 3.每个已安装软件包的版本 软件包存储在服务器上,这些服务器称为库(repository) PMS会检查包的依赖关系,并在

su1216的专栏 3434

linux shell教程、bash教程、shell脚本、bash脚本【教程】第九章:变量访问 内部变量(内建变量、位置参数、其他特殊参数)

原文:http://shouce.jb51.net/shell/第一章:Shell编程 第二章:Sha-Bang()开始第三章:特殊字符第四章. 变量和参数介绍第五章:引用与转义 第六章:退出和退出状态第七章:测试(if/then)、文件测试操作符、比较操作符(整数比较、字符串比较、混合比较)第八章:操作符(expr、let操作符、计算操作符、位操作符、逻辑操作符、逗号操作符、自定义进制BASE#NUMBER)影响Bash脚本行为的变量。 $BASH_ENV(Bash启动文件路径) 该环境变量保存一个,当启

Dontla的博客 1232

Linux 脚本编程终极指南(三)

你可以通过为exit指定一个数字参数来指定你自己的退出代码。这在你需要将某个特定的退出代码传递给外部程序时非常有用。Nagios 网络监控工具就是一个很好的例子。Nagios 是一个可以监控你网络中几乎所有类型设备的工具。它可以监控各种类型的服务器、工作站、路由器、交换机,甚至是打印机。它之所以这么酷,是因为它是模块化的,这意味着它支持插件。如果你需要监控一个特定的设备,并发现没有现成的插件能完成这项工作,你可以自己编写插件。你可以使用多种编程语言来编写插件,其中包括 shell 脚本。

龙哥盟 1396

Linux 脚本编程秘籍第三版(一)

本书将展示如何最大限度地发挥 Linux 计算机的性能。它描述了如何执行常见任务,如查找和搜索文件,解释了复杂的系统管理活动,如监控和调整系统,并讨论了网络、安全、发行版以及如何使用云计算。普通用户将会喜欢重新格式化照片、从互联网下载视频和音频文件以及归档文件的实用技巧。高级用户将会发现,解决复杂问题的配方和解释(如备份、版本控制和数据包嗅探)非常有用。系统管理员和集群管理员将会发现使用容器、虚拟机和云计算的配方可以让他们的工作变得更加轻松。起初,计算机通过读取卡片或磁带中的程序并生成单个报告来工作。

龙哥盟 1066

linux命令行和shell脚本编程宝典——第八章:基本脚本编译

连接多条命令 使用分号“;”分隔不同命令    比如who;date 这种方式还是在提示符下手动输入命令,创建脚本文件才是更好的方法 脚本文件 第一行:   #!/bin/bash   或者.... Shell使用PATH环境变量查找命令。如有需要,可以暂时更改PATH,比如把当前目录添加进去。 echo :显示文本       通常用于提示信息 echo命令

gongchangwangqi的专栏 471

第八章 认识与学习bash(上)

目录 认识bash shell的变量功能 变量的分类 变量的格式 变量键盘读取、数组与申明 单引号、双引号、反引号 文件系统与程序的限制关系:ulimit 变量内容的删除 变量的替代与替换 命令别名与历史命令 认识bash Shell:计算机的硬件只能识别0或1的电信号,所以shell就相当于是一个翻译器;它将我们所输入的命令翻译成cpu能读懂的语言,cpu执行完命令之后再...

旷野亮光 416
上一篇: 第十五章、Linux压缩及归档
下一篇: 第十六章、Raid及mdadm命令
Toormi
博客等级 码龄11年 565粉丝 92原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值