shell 脚本 变量 获取程序输出结果异常分析
2016-03-24 17:19
751 查看
#! /bin/bash pid=$(pgrep hello) echo ${pid}脚本名称是 hello_test.sh
当hello进程存在时,总是返回两个值
当hello进程不存在时,返回值并不为空,总是返回一个值,多次运行,返回的值并不固定
当然,以上都不是期望的结果。
为什么不存在时,也会返回呢,并且返回值不一样,记得好像有一个内部变量记得上次shell进程的pid,
应该是这样。
经人提醒,脚本是不是也是hello.sh,终于恍然醒悟,脚本名是hello_test.sh,也包含hello,那返回的值应该是当前脚本的pid
想完测试一下,在原来的脚本中再加上
echo $$在hello没运行时,会输出两行相同的值,预想得到证明。
算是发现一个小的隐藏甜点吧,呵呵!
相关文章推荐
- 使用powershell通过配置文件config调用wcf(含用户名密码认证)
- shell 字符串操作
- 从Linux程序中执行shell(程序、脚本)并获得输出结果
- shell去掉ssh连接时的yes/no
- shell命令详解
- 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法
- 常用shell实例
- jenkins执行shell脚本
- PowerShell 列举磁盘文件
- IT_linux_shell_awk_001--awk开始
- linux shell 统计不同文件扩展名的个数
- struts修复GetShell漏洞,将2.1.8.1升级至2.3.28
- shell中的sort命令
- shell if else 用法 syntax error near unexpected token `then'
- shell输入输出重定向
- bash常用快捷键
- 【shell编程基础0】bash shell编程的基本配置
- Bash的基本功能
- (转)73条日常Linux shell命令
- Linux平台搭建Jenkins+Maven+Shell实现自动化构建部署