当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : cd命令结果不如预期.... 求解释
帖子发表于 : 2012-03-29 16:43 

注册: 2011-12-14 10:21
帖子: 222
送出感谢: 19
接收感谢: 1
这是我的脚本
代码:
#!/bin/bash

script_path="/tmp/__flexcmd.sh"

echo "#! /bin/bash" > "$script_path"
echo "# generated by script" >> "$script_path"
echo $1 | tr  '%' '$' >> "$script_path"
shift 1
source $script_path [email protected]


然后运行

./flexcmd.sh "mkdir -p %1 && cd %1 " aaa

目录有建立,但是没有改变当前目录

然后运行

source /tmp/__flexcmd.sh aaa

是正常的


_________________
杂记


页首
 用户资料  
 
2 楼 
 文章标题 : Re: cd命令结果不如预期.... 求解释
帖子发表于 : 2012-03-29 16:56 

注册: 2011-12-14 10:21
帖子: 222
送出感谢: 19
接收感谢: 1
又试了下,这样执行是正确的 :em20

代码:
. /home/xxxx/flexcmd.sh " mkdir -p %1 &&  cd %1 "  aaa


这之间有有什么差?


_________________
杂记


页首
 用户资料  
 
3 楼 
 文章标题 : Re: cd命令结果不如预期.... 求解释
帖子发表于 : 2012-03-29 16:56 
头像

注册: 2010-06-16 1:05
帖子: 14668
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
把./的/去掉再试试


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
4 楼 
 文章标题 : Re: cd命令结果不如预期.... 求解释
帖子发表于 : 2012-03-29 17:06 
头像

注册: 2009-04-11 23:46
帖子: 4130
系统: Arch Linux
送出感谢: 11
接收感谢: 124
cd命令结果如我预期,完毕。
建议先看 shell 基础。不对,是进程的基础知识。


_________________
我的博客 https://blog.lilydjwg.me/
提问的智慧
Arch Linux 中文论坛

我的vimrc: https://git.io/vimrc



_________________
评价: 3.7% riptide2012
 
页首
 用户资料  
 
5 楼 
 文章标题 : Re: cd命令结果不如预期.... 求解释
帖子发表于 : 2012-03-29 17:24 

注册: 2011-12-14 10:21
帖子: 222
送出感谢: 19
接收感谢: 1
lilydjwg 写道:
cd命令结果如我预期,完毕。
建议先看 shell 基础。不对,是进程的基础知识。


你的意思是

执行的脚本是一个独立的进程,所以cd的效果terminal里看不到。

. 或则 source 是把脚本读到当前的环境,所以才有效的。


_________________
杂记


页首
 用户资料  
 
6 楼 
 文章标题 : Re: cd命令结果不如预期.... 求解释
帖子发表于 : 2012-03-29 17:38 
头像

注册: 2010-06-16 1:05
帖子: 14668
地址: Tencent
系统: Mac OS X
送出感谢: 1
接收感谢: 153
riptide2012 写道:
lilydjwg 写道:
cd命令结果如我预期,完毕。
建议先看 shell 基础。不对,是进程的基础知识。


你的意思是

执行的脚本是一个独立的进程,所以cd的效果terminal里看不到。

. 或则 source 是把脚本读到当前的环境,所以才有效的。

./会开启子shell


_________________
twitter求fo:http://twitter.com/maplebeats
博客求踩:http://maplebeats.com


页首
 用户资料  
 
7 楼 
 文章标题 : Re: cd命令结果不如预期.... 求解释
帖子发表于 : 2012-03-29 18:00 
头像

注册: 2009-04-11 23:46
帖子: 4130
系统: Arch Linux
送出感谢: 11
接收感谢: 124
riptide2012 写道:
lilydjwg 写道:
cd命令结果如我预期,完毕。
建议先看 shell 基础。不对,是进程的基础知识。


你的意思是

执行的脚本是一个独立的进程,所以cd的效果terminal里看不到。

. 或则 source 是把脚本读到当前的环境,所以才有效的。


差不多。

准确地说,是父进程(和你说话的那个 bash)看不到。. 基本上就是省去了你手动把那些代码在命令行上打一遍的过程。


_________________
我的博客 https://blog.lilydjwg.me/
提问的智慧
Arch Linux 中文论坛

我的vimrc: https://git.io/vimrc


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译