免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: liion631818
打印 上一主题 下一主题

[已解决]echo xxx | read name;怎么name为空啊?? [复制链接]

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
11 [报告]
发表于 2011-03-30 13:14 |只看该作者
回复 10# yinyuemi


    谢谢指正,我已在帖子中改正了

论坛徽章:
0
12 [报告]
发表于 2011-03-30 13:15 |只看该作者
管道产生子shell,子shell的变量不会影响到父shell

论坛徽章:
0
13 [报告]
发表于 2011-03-30 13:25 |只看该作者
本帖最后由 lkk2003rty 于 2011-03-30 14:33 编辑

回复 8# liion631818


   $$肯定不好使阿  
  下面是一个例子
  1. super@super-OptiPlex-380:~$ (cd /proc/self/task && ls && ps -ef | grep "bash" )
  2. 5751
  3. super     2942  2938  0 Mar29 pts/0    00:00:00 bash
  4. super     2961  2938  0 Mar29 pts/1    00:00:00 bash
  5. super     2979  2938  0 Mar29 pts/2    00:00:00 bash
  6. super     5751  2942  0 13:24 pts/0    00:00:00 bash
  7. super     5754  5751  0 13:24 pts/0    00:00:00 grep --color=auto bash
  8. super@super-OptiPlex-380:~$ echo $
  9. 2942
复制代码
第二个命令是 echo $$   不知道为什么 code块不好使

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
14 [报告]
发表于 2011-03-30 13:26 |只看该作者
回复 12# ywlscpl


    嗯,这个问题已经弄清楚了,谢谢高手们的解答~~~


另外一个问题,请大家顺带解释下呗

  1.     echo $
  2.     echo xxx | { read name; echo $ }
复制代码
为什么2次打印$$的值是一样的啊,不是2个进程吗?

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
15 [报告]
发表于 2011-03-30 13:42 |只看该作者
回复  liion631818


   $$肯定不好使阿  
创建一个子进程的时候会复制父进程的变量 $$就是被复制了   ...
lkk2003rty 发表于 2011-03-30 13:25


不是很能理解哦~~
进程号不是唯一的吗?怎么会子进程跟父进程一样呢?
如果在命令后面加&号,以异步运行的方式运行,新创建的进程的$$会跟当前进程的$$不一样,这两种方式产生的子进程的过程有什么不一样?

论坛徽章:
0
16 [报告]
发表于 2011-03-30 14:33 |只看该作者
回复 15# liion631818


    pid是唯一的 問題在于 這個變量 $$
   男人中的解釋 是
$
Expands to the process ID of the shell. In a () subshell, it expands to the process ID of the current shell, not the subshell.

注意 他說的是 the process ID of the current shel  不是你想的那樣的 如果要取得你想要的那樣的結果 應該用

$BASHPID

對應的解釋是

BASHPID
Expands to the process ID of the current bash process. This differs from $$ under certain circumstances, such as subshells that do not require bash to be re-initialized.

看來我原來的 說法 有點 小錯 回頭編輯下

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
17 [报告]
发表于 2011-03-30 15:21 |只看该作者
回复 16# lkk2003rty


    说的很对,学习了。。。
    男人真好~~·

论坛徽章:
0
18 [报告]
发表于 2011-03-30 15:23 |只看该作者
随便输入个字符就看到了

论坛徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序设计版块每日发帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序设计版块每日发帖之星
日期:2016-06-12 06:20:002016科比退役纪念章
日期:2016-05-31 15:47:20CU十四周年纪念徽章
日期:2016-05-27 12:24:562015年亚洲杯之阿曼
日期:2015-05-03 21:01:352015年辞旧岁徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序设计版块每日发帖之星
日期:2016-08-11 06:20:00
19 [报告]
发表于 2011-03-30 15:26 |只看该作者
回复 18# 南极雨


    什么意思???
   
    是说查看man bash吗?
   输入man bash后想看内容要一直翻页,能查找指定内容吗?

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
20 [报告]
发表于 2011-03-30 16:18 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP