技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

shell学习笔记(一)shell编程介绍

 ================================================================声明:此次分享bash shell 学习心得,根据周朝剑老师的shell编程视频整理成文档形式与大家分享,周老师教程视频讲得非常棒,支持一下.参考文档:http://www.cnblogs.com/chengmo/tag/shell/参考书籍:UNIX.shell范例精解(第4版)送给blog友一句话:... 全文

shell学习笔记 shell编程介绍 shell脚本使用范围 viong

Shell一些例子

bash不分区字符串和数值,如需计算数值可用$((.....)),但得到的结果不是数值.函数内接受不了外面的变量传值.正则表达式在匹配时是偷懒和正确匹配的和资源开销的一种权衡.... 全文

shell shell脚本 shell例子

shell

标签 shell变量相关命令,shell位置参数,shell特殊变量,shell变量参数展开 shell变量的赋值与使用请参考上一篇 shell变量_基础,以下将看到 管理变量的相关命令,shell位置参数与shell特殊变量的。 lz4.1 [root@master ~]# export PATH=$PATH:/usr/local/mysql/bin [root@master ~]# export -p | grep 'PATH' declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/usr/local/mysql/bin" 1 export 命令用于修改或输出环境变量,lz4.1将源码安装的mysql数据库bin 目录导入到环境变量中,方便使用。 lz4.2 [root@master ~]# i=/usr/local/mysql/var;readonly i [root@master ~]# i=file -bash: i: readonly variable [root@master ~]# unset -v i -bash: unset: i: cannot unset: readonly variable 2 变量的赋值我们已经很熟悉了,需要注意的是 readonly命令,它将把变量设置成只读变量;unset 命令则是删除变量或函数 参数-v 对应变量,参数 -f对应函数;由于前边已经把$i 设置成只读,当再次给 $i赋值出错,unset 仍然不能删除只读变量。 lz4.3 [root@master ~]# server=`uname -o`;echo The Server Is_${server}_ The Server Is_GNU/Linux_ [root@master ~]# a=1;b=2 c=`expr $a + $b`;echo "$a $b $c" 1 2 3 3 当需要在变量名称之后紧跟着一些字符时,我们需要这样使用变量即 ${var_name},花括号用于限制变量范围并与其它紧邻的字符隔离,shell中称为参数展开,参数展开是shell 提供变量值在程序中使用的过程。 lz 4.4 ./newtc_v03.sh;./newtc_v03.sh clear Usage: ./newtc_v03.sh {start|clear|vip|show} clear! 命令行参数部分代码 case "$1" in  (将脚本的参数传递给,特殊变量 $1)    start)        echo "start!"        tc_main        exit 0        ;;    clear)        echo "clear!"        tc_clear        exit 0        ;; 函数参数部分代码    vip)        echo "vip!"        if [ $# -eq 1 -o $# -lt 5 ];then           echo $?           echo "Usage: $0 vip arg1(vlan) arg2(ip_end) arg3(type) arg4(bandwidth)"           echo "Usage: $0 vip 1 199 down 200Kbit"           echo "Usage: $0 vip 1 199 up 200Kbit"           exit 1           else           tc_vip $2 $3 $4 $5   (传递 $2 $3 $4 $5 四个特殊变量,到 tc_vip 函数)           exit 0        fi        ;; 4 newtc_v03.sh 是一个使用 TC 来进行网络限速的脚本,此脚本需工作在网关上,需要的话可以在这里下载,可以看到这个脚本有4个参数,在shell中它们叫做"位置参数",位置参数既可以当成shell脚本的命令行参数,也可以当成shell函数的参数,参数最终赋值给特殊变量,特殊变量的名称是以整数来命名的,出于历史的原因当这个整数大于9时,则需要用花括号括起来 比如${10} lz 4.5 [root@master ~]# set -- 1 "2 3" 4; echo there are $# argument there are 3 argument [root@master ~]# for i in $@;do echo i is $i;done i is 1 i is 2 i is 3 i is 4 [root@master ~]# for i in $*;do echo i is $i;done i is 1 i is 2 i is 3 i is 4 [root@master ~]# for i in "$*";do echo i is $i;done i is 1 2 3 4 [root@master ~]# for i in "$@";do echo i is $i;done i is 1 i is 2 3 i is 4 [root@master ~]# shift [root@master ~]# echo there are now $# argument there are now 2 argument [root@master ~]# for i in "$@";do echo i is $i;done i is 2 3 i is 4 [root@master ~]# shift [root@master ~]# echo there are now $# argument there are now 1 argument   5 部分特殊变量, $# 目前进程的参数个数 $@ 传递给当前进程的命令行参数,置于双引号则保留真正的参数值 $* 传递给当前进程的命令行参数,置于双引号则表示一个字符串 $? 上一个命令的退出状态 $$ shell进程的 Process_ID $0 shell 程序名称 set 选项 (--) 及其参数(1 "2 3" 4) 的作用是 用其参数替代位置参数,shift 用于删除一个位置参数每使用一次,则$#值减一。  本文出自 “dongnan” 博客,请务必保留此出处http://dngood.blog.51cto.com/446195/594045... 全文

shell shell变量 休闲 shell位置参数 linux

shell

shell 的每一条命令,无论是内置的,外部的,还是shell 函数,当它退出时都会返回一个小的整数值, 给引用他的程序,这就是程序的退出状态,我们会经常用到,比如 if for test  等等,这些命都需要 使用程序的退出状态来,完成条件判断。 lz6.1 [root@master ~]# ls /dev/null /dev/null [root@master ~]# echo $? 0 [root@master ~]# ls /dev/Null;echo $? ls: 无法访问/dev/Null: 没有那个文件或目录 2 [zm@master ~]$ file /root/pw;echo $? /root/pw: ERROR: cannot open `/root/pw' (Permission denied) 1 echo $? (关于shell特殊变量)用于输出shell最后一次所执行的一个程序退出状态, 我们发现 成功执行的命令,退出状态为 0 ,而 没有成功执行的命令 退出状态 非0 (大于0的值都为失败)。 lz6.2 下边是在amp.sh脚本中的一段  if [ ! -d /usr/local/freetype ]   then   echo "error! can't install freetype  please check ! Will now out of the script!"   exit 1  fi 如果找不到这个目录,那么test命令([ ! -d /usr/local/freetype ]为test命令快捷方式,详细介绍)退出状态 为 1 ,这里使用了逻辑运算符"!"表示取反 非1即0那么此时退出状态为0,接下来我们就可以使用 exit 命令,传递一个退出值也就是 exit 1 ,脚本会退出并返回值为1,如果只有 exit 命令 而没有参数(返回值),则以最后一个执行命令的退出状态,作为退出状态,这点需要注意了! lz6.3 [root@master ~]#if test 1 -eq 1         > then > echo "exit status is 0" > else > echo "exit status is 1" > fi exit status is 0 [root@master ~]#if test 1 -eq 2         > then > echo "exit status is 0" > else > echo "exit status is 1" > fi exit status is 1nginx_install.sh 部分... 全文

shell linux shell case语句 休闲 shell命令

Linux的Shell编程 Shell基本语法

Shell基本语法像高级程序设计语言一样,Shell也提供说明和使用变量的功能。对Shell来讲,所有变量的取值都是一个字串,Shell程序采用$var的形式来引用名为var的变量的值。Shell有以下几种基本类型的变量。(1)Shell定义的环境变量:Shell在开始执行时就已经定义了一些和系统的工作环境有关的变量,用户还可以重新定义这些变量,常用的Shell环境变量有:HOME 用于保存注册目录的完全路径名。... 全文

Linux Shell编程 Shell基本语法

shell加密工具shc的安装和使用

1)工具说明  shell脚本是可读写的, 很有可能会泄露敏感信息, 如用户名/密码/路径/IP等. 同样在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具, 它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题.2)下载安装... 全文

shell 二进制 shell脚本编译 shell加密

不是SHELL的SHELL—TCSH SHELL 编程(1)

TCSH shell不同于其他的shell,因为控制结构更符合程序设计语言的格式.例如TCSH 的test条件的控制结构是表达式,而不是linux命令,得到的值是逻辑值true或false,TCSH的表达式与C语言中的表达式基本相同.一 TCSH shell变量,脚本,... 全文

C shell s

登录shell和非登录shell

    什么是登录shell: 登录shell是可以用户登录使用的,比如/bin/bash ,/bin/sh ,/bin/csh......一般 Linux默认的用户shell都是bash,也就是你可以登录进去写命令。     非登录shell:经典的/bin/nologin就是一个非登录shell,也就是说如果一个用户默认的是它,这个用户即使登录进linux也无法使用linux。     shell是用户和计算机交流的媒介,登录shell保证用户和计算机交流,非登录shell无法让计算机和用户交流。     关于用户的默认登录shell是在/etc/passwd文件中记录的。     非登录shell有他特定的用途,比如一个用linux搭建的ftp服务器,并且创建了多个用户,那么就可以将这些用户默认shell改成nologin,这样一来,这些用户虽然是linux上的用户却无法登录进linux主机,只能进入ftp服务器,这样也保证了安全!本文出自 “IT辰逸” 博客,请务必保留此出处http://itchenyi.blog.51cto.com/4745638/1011111... 全文

Linux 用户登录 登录shell 非登录shell

Linux的Shell编程 运行Shell程序的方法

用户可以用任何编辑程序来编写Shell程序。因为Shell程序是解释执行的,所以不需要编译成目的程序。按照Shell编程的惯例,以 bash为例,程序的第一行一般为“#!/bin/bash”,其中 # 表示该行是注释,叹号 ! 告诉Shell运行叹号之后的命令并用文档的其余部分作为输入,也就是运行/bin/bash并让/bin/bash去执行Shell程序的内容。执行Shell程序的方法有3种。1.sh Shell程序文件名这种方法的命令格式为:bash Shell程序文件名... 全文

Linux Shell编程 运行Shell程序

Linux的Shell编程 Shell程序设计的流程控制

和其他高级程序设计语言一样,Shell提供了用来控制程序执行流程的命令,包括条件分支和循环结构,用户可以用这些命令创建非常复杂的程序。与传统语言不同的是,Shell用于指定条件值的不是布尔运算式,而是命令和字串。1.测试命令test命令用于检查某个条件是否成立,它可以进行数值、字符和文件3个方面的测试,其测试符和相应的功能分别如下。(1)数值测试:-eq 等于则为真。-ne 不等于则为真。-gt 大于则为真。-ge 大于等于则为真。-lt 小于则为真。-le 小于等于则为真。(2)字串测试:= 等于则为真。!= 不相等则为真。-z字串 字串长度伪则为真。-n字串 字串长度不伪则为真。(3)文件测试:-e文件名 如果文件存在则为真。... 全文

Linux的 Shell编程 Shell程序设计

Linux下shell与子shell及执行Script的几种方式

Linux登陆主机后,在执行Script之前,其实我们已经处于一个shell中,即Login shell。它是将来要执行Script的父shell。如root账号默认为/bin/bash。      Linux下每个账号都可以自定义Login shell,在/etc/passwd文件中。Login shell定义在第七个字段,如果这个字段的shell程序不存在、不合法,或执行失败,则无法登陆主机。      当在执行一个Shell Script时,父shell会根据Script程序的第一行#!之后指定的shell程序开启一个子shell环境,然后在子shell中执行此Shell Script,一旦执行完毕,子shell结束,回到父shell,不会影响原父shell的环境。 Linux执行Script有三种执行方式: 1.source filename 或者 . filename   注意. Filename中,. 和filename之间有个空格。   此命令式在当前shell环境下读取并执行filename中的命令。该filename文件可以无执行权限。通常用于重新执行刚修改的初始化文档。source命令(从 C Shell 而来)是bash shell的内置命令。 点命令,就是个点符号,(从Bourne Shell而来),就是顺序的执行文件里的命令而已。 2.sh filename 或者 bash filename   此命令是在当前相应的bash环境下新建一个子shell读取并执行FileName中的命令,该filename文件可以无执行权限。 3.  ./filename   此命令打开一个子shell来读取并执行filename中命令,该文件必须必须有可执行的权限。chmod +x filename。 三者的区别: 1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。 2.sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。 3.source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。 举例: 1.新建一个test.sh脚本,内容为:A=1。 2.然后使其可执行chmod +x test.sh。 3.运行sh test.sh后,echo $A,显示为空,因为A=1并未传回给当前shell。 4.运行./test.sh后,也是一样的效果。 5.运行source test.sh 或者 . test.sh,然后echo $A,则会显示1,说明A=1的变量在当前shell 中。 举例: 1.新建一个sh01.sh脚本,内容为 #!/bin/bash echo $SHLVL  (输出当前shell的层次) 2.然后使其可执行chmod +x sh01.sh。 3.运行sh sh01.sh后,输出3。 4.运行./ sh01.sh后,也是一样的效果。 5.运行source sh01.sh 或者 . sh01.sh,输出2。 举例: 1.登录主机后,打开一个终端,输入echo $SHLVL,输出2。 2.输入bash,进入一个子shell,然后再输入echo $SHLVL,输出3。 3.输入exit,然后再输入echo $SHLVL,输出2。 4.输入exit,退出终端。 ... 全文

shell 环境变量 子shell

shell学习笔记(四)shell控制流结构

shell学习笔记(四)shell控制流结构目录:=======================================================... 全文

viong shell学习笔记 shell控制流结构

shell学习笔记(三)shell输入与输出

shell学习笔记(三)shell输入与输出目录:======================================================echo read cat 管道 | tee 标准输入.输出和错误 文件重定向     标准输入的重定向     标准输出的重定向     标准输出的重定向     标准输出和标准错误的重定向     标准输入和标准输出的重定向 exec 管道|(pipe)与文件重定向区别... 全文

shell学习笔记 viong shell输入与输出

linux登录时shell与非登录时shell

登录Shell与非登录Shell首先给大家介绍一个文件,startup文件,登录shell时要执行的文件,在以后登录时初始化用户登录后的环境。在linux中,若果默认Shell为bashshell时,默认有多个startup文件,不去读取的方式和次序也并不相同。... 全文

登录Shell与非登录Shell   linux 休闲 职场

shell学习笔记(二)shell变量与运算符

 shell学习笔记(二)shell变量与运算符目录:====================================================... 全文

运算符 shell学习笔记 viong shell变量与运算符

shell学习之shell基础知识了解

一、了解bash shell/etc/bash是Linux系统预设的shell.bash是GNU计划中重要的工具软件之一,目前也是Linux distributions的标准shell。... 全文

shell

hadoop Shell命令详解

调用文件系统(FS)Shell命令应使用bin/hadoop fs <args>的形式。所有的的FS shell命令使用URI路径作为参数。1、cat说明:将路径指定文件的内容输出到stdout。用法:hadoop fs -cat URI [URI …]范例:... 全文

hadoop Shell Shell命令

shell脚本变量判断

事出有因:我想写个脚本,想判断一个脚本中的变量是否为空。经过查了一些资料,最后把shell脚本中如何判断变量的方法给补齐咯。一.判断变量非空以下是我一开始写的一个判断变量非空的shell脚本:... 全文

shell shell变量判断

父shell和子shell 变量问题

       父shell 和 子 shell,那么会想到 export 这个命令。export 也是 bash 的一个内置命令。它主要是用来将父 shell 里的变量导出供子 shell 使用。        它有如下特征:1. 用 export 导出的变量放在“导出变量列表”中,它可以被子 shell (子 shell 的子 shell 也是如此)拷贝并使用。2. 被 export 出来的变量虽然可以被子 shell 使用,但它也只是一个拷贝,而不会影响到父 shell 中的值以及其它子 shell 中的值。... 全文

Linux shell

Linux shell中的那些小把戏

我日常使用Linux shell(Bash),但是我经常忘记一些有用的命令或者shell技巧。是的,我能记住一些命令,但是肯定不会只在特定的任务上使用一次,所以我就开始在我的Dropbox账号里用文本文件写下这些Linux shell的小技巧,现在我决定共享它给你。这个表我以后还会更新。记住,这里的一些贴士需要在你的Linux发行版上安装额外的软件。... 全文

Linux shell Shell

2 3 4 5 6 7 8 9 10 11