首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
shell 子 shell 父进程 变量 传回
2024-10-18
shell浅谈之九子shell与进程处理
转自:http://blog.csdn.net/taiyang1987912/article/details/39529291 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一.简介 Linux是一种用户控制的多作业操作系统,系统允许多个系统用户同时提交作业,而一个系统用户又可能用多个shell登录,每个系统用户可以用一个shell提交多个作业.了解Bash Shell在多作业管理和进程处理方面的命名和机制有助于理解多用户.多作业的系统. 二.详解 1.子Shell (
子shell
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
Shell:子shell概念
Blog:博客园 个人 目录 shell环境 什么是子shell 子shell的分类 shell环境 每个shell进程有一个自己的运行环境,不同的Shell进程有不同的Shell环境.Shell解析命令行.调用命令行的过程都在这个环境中完成. 调用shell程序时,会读取配置文件来初始化Shell环境. 读取配置文件情况分为两种: 用户登录启动的shell 非用户登录启动的shell 什么是子shell 所谓子shell,即从当前shell环境中新开了一个shell环境,这个新开的shell环
Linux编程 9 (shell类型,shell父子关系,子shell用法)
一. 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 java进程方法-引出子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输出默认不保留换
LinuxShell脚本编程基础2-变量与数值运算、父shell和子shell
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
Linux Shell编程(27)——子shell
运行一个shell脚本时会启动另一个命令解释器. 就好像你的命令是在命令行提示下被解释的一样, 类似于批处理文件里的一系列命令.每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.shell脚本也能启动他自已的子进程. 这些子shell(即子进程)使脚本并行地,有效率地地同时运行多个子任务.一般来说,脚本里的一个外部命令(external command)能生成(forks)出一个子
进入子shell的各种情况分析
子shell的概念贯穿整个shell,写shell脚本时更是不可不知.所谓子shell,即从当前shell环境新开一个shell环境,这个新开的shell环境就称为子shell(subshell),而开启子shell的环境称为该子shell的父shell.子shell和父shell的关系其实就是子进程和父进程的关系,只不过子shell和父shell是关联的进程是bash进程. 子shell会从父shell中继承很多环境,如变量.命令全路径.文件描述符.当前工作目录.陷阱等等,但子shell有很多
子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 while内获取外部变量内容
一.问题 问题很简单,看下面一段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
linux 子shell subshell和函数
关于子shell, subshell 参考:http://blog.csdn.net/sosodream/article/details/5683515 系统引导时的进程为 "原始进程" id=0, 然后时init 进程, 进程号=1, 后面所有的进程都是它派生出来的. 如果父进程终止导致留下 孤儿 (子进程) 也会被 init所收养. 子进程的创建过程: fork+exec: fork由父进程创建子进程的环境; 然后由exe加载子进程代码并执行. shell创建子进程有 四种情况:
shell 脚本学习之内部变量
一,$BASH Bash的二进制程序文件的路径 二,$BASH_ENV 这个环境变量会指向一个Bash的启动文件, 当一个脚本被调用的时候, 这个启动文件将会被读取. 三,$BASH_SUBSHELL 这个变量用来提示子shell的层次 四, $BASH_VERSINFO[n] 这是一个含有6个元素的数组, 它包含了所安装的Bash的版本信息 # BASH_VERSINFO[0] = 3 # 主版本号. # BASH_VERSINFO[1] = 00 # 次版本号. # BASH_VERSINF
小鸟初学Shell编程(七)变量引用及作用范围
变量引用 那么定义好变量,如何打印变量的值呢?举例下变量引用的方式. ${变量名}称作为对变量的引用 echo ${变量名}查看变量的值 ${变量名}在部分情况下可以省略成 $变量名 [root@lincoding ~]# string="hello Shell" [root@lincoding ~]# echo ${string} hello Shell [root@lincoding ~]# echo $string hello Shell 那么有花括号括起来的变量和没有花括号的区
Batch pk Shell - WindowsBatch与LinuxShell比较 [变量符号和关键字]
原文地址: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
linux下shell编程示例-获取进程id
今天初步学习了一下linux下的shell编程,简单记录一下测试用例 1.编辑shell脚本文件如下: #!/bin/bashecho "hello bash linux"echo "第0个参数:$0"echo "第一个参数:$1"echo "当前子shell进程:$$" #pidarr=`ps x | awk '{print $1}'`pidarr=$(ps x | awk '{print $1}')echo $pidadd
Linux中shell和子shell一点点理解
Linux执行脚本有两种方式,主要区别在于是否建立子shell 1.像sh,bash,./命令是用来执行shell脚本的,在bash/sh命令下,脚本文件可以无"执行权限",即没有rwx中的x权限.而对于./命令,脚本文件必须要有执行权限. 创建子shell,在当前bash环境下再新建一个子shell执行脚本中的命令子shell继承父shell的变量,但子shell不能使用父shell的变量,除非使用export声明为环境变量 子Shell从父Shell继承
[Linux]Shell的运算符和特殊变量
说起Shell脚本,免不了用变量.特别是对于这种一堆符号表示变量的语言来说,你不了解一下相关变量的本意,根本无从下手.譬如写个循环遍历,$#就起了好大作用.所以还是有必要记录一下,也是对学习的一个笔记,方便以后查找. 另外有一些运算符也相当有意思. //---------------------分割线,下文为笔记内容------------------------- 变量相关的命令 export, readonly export:用于修改或打印变量 readonly:设置变量为只读 替换运算
bash之局部变量与子shell(转载)
shell是每个接触linux.unix用户不得不会的工具,谈到shell就又联系到bash,因为这个shell是普遍被使用的.那么bash中的局部变量和子shell你是否能熟练掌握呢?这里推荐一本学习bash必须读的书<高级Bash脚本编程指南>. 1.局部变量 顾名思义,局部变量就是在局部起作用的变量,用local内建命令定义.在函数定义中,没有明确定义为局部变量的变量是全局变量,如下 [root@vm3 ~]# function defval(){> a=66> }[ro
利用SHELL脚本修改当前环境变量
转自http://www.chinaunix.net/old_jh/7/21485.html 1.背景 ---- 在日常的工作中,为了设置一大批环境变量,我们通常编辑了一个shell程序,包含了多个的变量设置,然后运行它.如何运行它呢?通常我们用$. cbpsprofile命令,确实改变了当前shell的环境变量;而直接运行该shell程序时,$cbpsprofile却不能改变当前shell的环境变量.这两种方式的差别何在?原理上有何差别?这是本文讨论的重点. ---- 假设:我们编辑的shel
shell 函数与内置变量
1,特殊shell变量 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数. $- 显示Shell使用的当前选项,与set命令功能相同. $? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误. $_ 显示传参的最后一个参数 command > file 将输出重定向到 file. command < file 将输入重定向到 fi
Bash基础——Shell脚本内部常用环境变量
$@和$*区别 不加引号的时候没区别 #! /usr/bin/bash function print_args_at { printf "%s\n" $@ echo $@ } function print_args_star { printf "%s\n" $* echo $* } print_args_at "one" "two three" "four" echo "*************
热门专题
ant sonar指定jdk
remine软件下载
oracle sysdate 语法
Linux和windows下icmp区别
c#串口close问题
怎么把修改的信息回显到表单项中
什么是graph transformer
超过div的icon
jqueryindexof的用法
彩云天气api申请key
win7vs2015安装提示安装包丢失或损坏
vue源码打包能反解回来么
android 输入框 弹出
webworker websocket 的区别
为什么我的谷歌没有Application
获得sessionID可以通过以下哪种web攻击
java对象怎么遍历
vue项目中js可以引入vue文件吗
python大漠插件
cisco策略路由不启用