Chinaunix首页 | 论坛 | 博客
  • 博客访问: 419324
  • 博文数量: 136
  • 博客积分: 5351
  • 博客等级: 少校
  • 技术积分: 1446
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-29 15:46
文章存档

2013年(2)

2012年(18)

2011年(116)

分类: Python/Ruby

2012-06-02 17:43:32

          前段时间看学到一条命令:mkdir -p "$@" && eval cd "\"\$$#\"";来实现创建新目录
并切换到新目录底下,今天测试了一下,达不到目的。怎么cd都达不到目的。
          后来在网上搜了一下:
          讲到shell执行命令时,开启一个子shell,子shell运行完退到父shell环境下。
          那么确实在脚本里面用实现切换到一个新建的目录,该如何操作?
          把创建和切换放在( )里面,整个在“同一”个子进程里面执行。
          如果测试  mkdir   directory ;  cd   directory ;  touch  file1 ; ls  -al 这几个命令的话,有无()
不会造成影响,如此说来shell脚本里面的命令打开的应该是同一个子shell。
     
         


         补充:首先看一下命令本身的区别
[root@acer shell_learning]# type   cd
cd is a shell builtin
[root@acer shell_learning]# type   mkdir
mkdir is hashed (/bin/mkdir)
[root@acer shell_learning]# type   if
if is a shell keyword
[root@acer shell_learning]# type   while
while is a shell keyword
[root@acer shell_learning]# type   top
top is /usr/bin/top
         再就是检测进程的变化:


 
阅读(4329) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~