http://blog.csdn.net/dreamcoding/article/details/8519689/ http://caoruntao.iteye.com/blog/1018656…
1.变量和数值运算 Shell脚本的变量不需要声明的 对变量赋值有两种方式, 直接用“=” 或者用键盘输入值 #!/bin/bash name1="Jack" echo $name1 $name1abc当后面有其他字符 ,需要 echo ${name1}abc 键盘输入值 #!/bin/bash echo "请输入你的名字:" read name1 echo $name1 输出一些系统命令的值 echo date echo `date` 也等同于 echo $(da…
http://bbs.csdn.net/topics/392292455 https://www.cnblogs.com/daniaoge/p/6161821.html http://blog.csdn.net/qq_20327293/article/details/50425737 1. 如果需要使用父Shell来执行此脚本,可以使用: 命令行:. ./test.sh 注意.与./之间有一个空格符 子Shell继续开启子Shell 与父Shell启动子Shell方式一样,继续调用下去,即子Sh…
Blog:博客园 个人 目录 shell环境 什么是子shell 子shell的分类 shell环境 每个shell进程有一个自己的运行环境,不同的Shell进程有不同的Shell环境.Shell解析命令行.调用命令行的过程都在这个环境中完成. 调用shell程序时,会读取配置文件来初始化Shell环境. 读取配置文件情况分为两种: 用户登录启动的shell 非用户登录启动的shell 什么是子shell 所谓子shell,即从当前shell环境中新开了一个shell环境,这个新开的shell环…
子shell的概念贯穿整个shell,写shell脚本时更是不可不知.所谓子shell,即从当前shell环境新开一个shell环境,这个新开的shell环境就称为子shell(subshell),而开启子shell的环境称为该子shell的父shell.子shell和父shell的关系其实就是子进程和父进程的关系,只不过子shell和父shell是关联的进程是bash进程. 子shell会从父shell中继承很多环境,如变量.命令全路径.文件描述符.当前工作目录.陷阱等等,但子shell有很多…
Linux执行脚本有两种方式,主要区别在于是否建立子shell   1.像sh,bash,./命令是用来执行shell脚本的,在bash/sh命令下,脚本文件可以无"执行权限",即没有rwx中的x权限.而对于./命令,脚本文件必须要有执行权限.       创建子shell,在当前bash环境下再新建一个子shell执行脚本中的命令子shell继承父shell的变量,但子shell不能使用父shell的变量,除非使用export声明为环境变量       子Shell从父Shell继承…
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 子shell的概念贯穿整个shell,写shell脚本时更是不可不知.所谓子shell,即从当前shell环境新开一个shell环境,这个新开的shell环境就称为子shell(subshell),而开启子shell的环境称为该子shell的父shell.子shell和父shell的关系其实就是子进程和父进程的关系,只不过子shell和父shell所关联的进程是bas…
关于子shell, subshell 参考:http://blog.csdn.net/sosodream/article/details/5683515 系统引导时的进程为 "原始进程" id=0, 然后时init 进程, 进程号=1, 后面所有的进程都是它派生出来的. 如果父进程终止导致留下 孤儿 (子进程) 也会被 init所收养. 子进程的创建过程: fork+exec: fork由父进程创建子进程的环境; 然后由exe加载子进程代码并执行. shell创建子进程有 四种情况:…
shell 与 export命令用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序时,系统将创建一个子shell. 此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建 的shell.当一个脚本程序运行完毕,脚本shell将终止,返回到执行该脚本之前的shell. 从这种意义上来说,用户可以有许多 shell,每个shell都是由某…
变量引用 那么定义好变量,如何打印变量的值呢?举例下变量引用的方式. ${变量名}称作为对变量的引用 echo ${变量名}查看变量的值 ${变量名}在部分情况下可以省略成 $变量名 [root@lincoding ~]# string="hello Shell" [root@lincoding ~]# echo ${string} hello Shell [root@lincoding ~]# echo $string hello Shell 那么有花括号括起来的变量和没有花括号的区…
原文地址:WindowsBatch与LinuxShell比较[变量符号和关键字] 一 简单实例1)batch file @echo off rem output helloworld ::  output helloworld Echo Hello World! 小结:- batch file一般以bat或cmd为后缀.- 第一行为@echo off表示关闭运行时batch file本身输入,只输出运行的结果.- rem和::表示注释. 2)shell file #!/bin/sh # outp…
目录 一.Shell脚本概述 1.shell脚本的概念 2.shell脚本应用场景 3.shell的作用--命令翻译器,"翻译官" 二.用户的登录shell 三.shell脚本的构成 四.shell脚本的执行 方法一:指定路径的命令,要求文件必须有执行(x)权限 方法二:指定shell来解释脚本,不要求文件必须有写(x)的权限 五.重定向 1.重定向--交互式硬件设备 2.重定向--重定向操作(用于自动化脚本,输出查证.) 六.Shell脚本变量 1.变量的作用 2.变量的分类 七.自…
前段时间和几位同事讨论过一个问题:Shell脚本里面怎样把一个数组传递到awk内部进行处理? 当时没有找到方法.前两天在QQ群里讨论awk的时候,无意间又聊起这个话题.机缘巧合之下找到一个思路,特此分享. 测试环境:  [root]# head -1 /etc/redhat-release Red Hat Enterprise Linux Server release 6.5 (Santiago) [root]# awk --version | head -1 GNU Awk 3.1.7 众所周…
运行一个shell脚本时会启动另一个命令解释器. 就好像你的命令是在命令行提示下被解释的一样, 类似于批处理文件里的一系列命令.每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.shell脚本也能启动他自已的子进程. 这些子shell(即子进程)使脚本并行地,有效率地地同时运行多个子任务.一般来说,脚本里的一个外部命令(external command)能生成(forks)出一个子…
1. shell变量的定义 1)Shell 支持以下三种定义变量的方式: variable=value variable='value' variable="value" 特点 1. shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量,它们也会被视为字符串,如果 value 不包含任何空白符(例如空格.Tab 缩进等),那么可以不使用引号,也可以使用 declare 关键字显式定义变量的类型2. 赋值号=的周围不能有空格3. 使用一个定义过的变量,只要在变量名前面加…
一.问题 问题很简单,看下面一段tmp.sh代码: #!/bin/sh x="this is the initial value of x" cat /tmp/tmp | while read line;do x="$line" echo $x done echo x = $x /tmp/tmp的内容 1,a 执行 ./tmp.sh,正常x变量是蓝色的“1,a”,但是实际的结果却是红色部分: [qiu.li@l-tdata1.tkt.cn6 ~]$ ./tmp.sh…
说起Shell脚本,免不了用变量.特别是对于这种一堆符号表示变量的语言来说,你不了解一下相关变量的本意,根本无从下手.譬如写个循环遍历,$#就起了好大作用.所以还是有必要记录一下,也是对学习的一个笔记,方便以后查找. 另外有一些运算符也相当有意思. //---------------------分割线,下文为笔记内容------------------------- 变量相关的命令 export, readonly export:用于修改或打印变量 readonly:设置变量为只读   替换运算…
一,$BASH Bash的二进制程序文件的路径 二,$BASH_ENV 这个环境变量会指向一个Bash的启动文件, 当一个脚本被调用的时候, 这个启动文件将会被读取. 三,$BASH_SUBSHELL 这个变量用来提示子shell的层次 四, $BASH_VERSINFO[n] 这是一个含有6个元素的数组, 它包含了所安装的Bash的版本信息 # BASH_VERSINFO[0] = 3 # 主版本号. # BASH_VERSINFO[1] = 00 # 次版本号. # BASH_VERSINF…
1,特殊shell变量 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数. $- 显示Shell使用的当前选项,与set命令功能相同. $? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误. $_ 显示传参的最后一个参数 command > file 将输出重定向到 file. command < file 将输入重定向到 fi…
1. 什么是变量 变量就是用一个固定的字符串(也可能是字符数字等的组合),替代更多更复杂的内容,这个内容里可能还会包含变量和路径,字符串等其他内容. 变量的定义是存在内存中. x=1 y=2 2. 变量类型 变量分为两类: 环境变量(也可称为全局变量):可以在创建他们的Shell及派生出来的子shell中使用.环境变量又可以分为自定义环境变量和bash内置的环境变量. 局部变量(普通变量):只能在创建他们的shell函数或shell脚本中使用,还记得前面的$user 我们创建的一般都是普通变量.…
本章内容: 变量 运算 if语句 for语句 while语句 break.continue 实例 shell变量 1.shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据.脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储:这意味着,Bash shell 在默认情况下不会区分变量类型,即使你将整数和小数赋值给变量…
使用angularjs,发现controller间的值传递,比较麻烦的,以后几篇文章会陆续说几种方法. 一,angularjs $broadcast $emit $on的处理思想 在一个controller里面通过事件触发一个方法,在方法里面通过$broadcast或$emit来定义一个变量,在父,子controller里面通过$on来获取. 二,实例说明angularjs $broadcast $emit $on的用法 1,html代码 <div ng-controller="Paren…
子shell 控制变量 ansible-direc:~ # (export hello=world;echo $hello)worldansible-direc:~ # echo $hello ansible-direc:~ # 实例: 不用单独更改权限,局部变量生效创建ca证书的私钥 ansible-direc:/etc/pki/CA # (umask 077;openssl genrsa -out private/cakey.pem 2048)Generating RSA private k…
今天的工作中突然用到这个了,不过以前没有接触过呢!不过,在有经验的同事的帮助下,这个问题也很快解决了.具体可以分为以下几种方式: 1.在父窗体中构造子窗体对象时,将父窗体传递过去: 如:FrmSub frm=new FrmSub(this);//this代表父窗体 2.将父窗体中要访问的变量和方法修改为public 3.在子窗体类中定义一个父窗体的全局变量: 如:private dynamic m_parentContainer;//使用dynamic可以动态的识别该变量的类型 4.添加引用Mi…
一. shell类型 1.1  交互式 bin/ shell程序 当用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器时,默认的shell程序就会开始运行.系统启动什么样的shell程序取决于你个人的用户ID配置,在etc/passwd文件中.如下图所示,root用户使用bash shell作为自己的默认shell程序. bash shell程序位于/bin目录下,使用长列表可以看出它是一个可执行程序: 像/bin/tcsh 或/bin/dash 或/bin/csh 这些都是shell程序…
方法: kill –9 `pgrep java` 使用上述命令可以将服务器上运行的所有java进程一次性kill掉. 扩展:子shell和反应用在shell脚本中的作用 先来看一个子shell的例子: # cat text1.txt 1 2 3 4 5 # text01=$(cat text1.txt) #echo $text01 1 2 3 4 5 从例子可以看出,子shell是用$()引用起来的部分,子shell运行作为一个单独的进程,并不会父shell产生影响.子shell输出默认不保留换…
摘自:Oldboy Linux运维——SHELL编程实战 Shell变量:用一个固定的字符串(也可能是字符.数字等的组合)代替更多.更复杂的内容,该内容里可能还会包含变量.路径.字符串等其它的内容. 变量是暂时存储数据的地方及数据标记,所存储的数据存在于内存空间中,通过正确的调用内存空间中变量的名字就可以取出与变量对应的数据. 变量的内容一般要加双引号,以防止出错,特别是当值里的内容之间有空格时. 变量类型可分为两类:环境变量和普通变量. 环境变量也可称为全局变量,可以在创建它们的Shell及其…
shell脚本中特定符合变量的含义: $#   传递到脚本的参数个数 $*    以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$    脚本运行的当前进程PID号 $!     后台运行的最后一个进程的进程号 $@   与$*相同,但是使用时用双引号,并将各个参数加双引号返回 $-     显示shell使用的当前选项,与set命令功能相同 $_    上一个命令的最后一个参数 $?     显示最后命令的退出状态,0表示执行成功 ,其他值有问题 $0    …
概述 主要介绍子shell历史操作记录的保存以及解析,比如python, scala等,用于(准)实时监控用户行为. 背景 一级shell的历史操作记录已由系统实现,当用户从开始登录shell(这里指父shell)到退出,期间所有的操作记录都将记录在 ~/.bash_history文件里, 但是当我从父shell新建一个子shell时(例如在当前shell执行scala),所有在scala命令行的 操作记录将不会被系统监控到, 那如果我想获取这里操作记录该怎么做, 别担心,办法总比问题多,这里的…
shell是每个接触linux.unix用户不得不会的工具,谈到shell就又联系到bash,因为这个shell是普遍被使用的.那么bash中的局部变量和子shell你是否能熟练掌握呢?这里推荐一本学习bash必须读的书<高级Bash脚本编程指南>.   1.局部变量 顾名思义,局部变量就是在局部起作用的变量,用local内建命令定义.在函数定义中,没有明确定义为局部变量的变量是全局变量,如下 [root@vm3 ~]# function defval(){> a=66> }[ro…