一個關於shell編程的小問題

lydragon 2002-05-24 02:03:04
當前目錄/work,其下有一子目錄app
現想將當前目錄設為/work/app;
這樣(文件名test):
#!/bin/sh
cd /work/app
錯在那裡?執行過./test後為何沒有反應?
剛學,問題太菜,莫笑!
...全文
68 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lydragon 2002-05-27
  • 打赏
  • 举报
回复
噢,有點明白了!
exec /bin/ksh又開了個shell
是不是不可以在當前shell下顯式的改變當前目錄(即腳本執行完後pwd是改變後的目錄)?
guam5 2002-05-27
  • 打赏
  • 举报
回复
cd 参数是完整的绝对路径名(从根目录开始)不就行了么?
比如 cd /home/work/app
ajiefudan 2002-05-27
  • 打赏
  • 举报
回复
可以阿 ,用
. ./test
就可以了
第一个.表示在当前shell下运行
lydragon 2002-05-27
  • 打赏
  • 举报
回复
up
xiameng 2002-05-25
  • 打赏
  • 举报
回复
更正: set PWD=/wwd export PWD 无用! 献丑了
xiameng 2002-05-25
  • 打赏
  • 举报
回复
兄弟,楼上的哥们都不明白你的意思!
ksh下:
cd /work/app
set PWD=/wwd export PWD
exec /bin/ksh
试试如何,觉得满意的话,就不要怕麻烦给几分,或mail wwwego@163.net

kodwim 2002-05-24
  • 打赏
  • 举报
回复
不知应该怎么解释,其实是因为一个进程执行完后又回到父进程了
你的cd其实已经成功了,不信cd后mkdir aaa你会发现目录建起来了
cao_elsie 2002-05-24
  • 打赏
  • 举报
回复
你的shell本身并没有错,实际上你的shell的工作目录已经在/work/app下了,不信你可以在/work/app下新建一文件testfile,并在test中加一句话 cp testfile testfile1,是可以执行的
lydragon 2002-05-24
  • 打赏
  • 举报
回复
各位兄弟,你們有沒有自己試過啊?!
這樣子改也不行呀!
而且按照你們的說法,如果我想把當前目錄改到根目錄/下的其他目錄(比如/bin)下,是無法做到的嘍?
NetBird_China 2002-05-24
  • 打赏
  • 举报
回复
三种改法
cp app
cp ../work/app
cp ./app
另外,test文件的属性应该是可执行的drwx--x--x
yixudong 2002-05-24
  • 打赏
  • 举报
回复
还有,你chmod 711 test了吗?
yixudong 2002-05-24
  • 打赏
  • 举报
回复
sorry,应该直接cd app就行了。
yixudong 2002-05-24
  • 打赏
  • 举报
回复
错就错在cd /work/app 的第一个/上,在linux下/表示的是根目录,也就是说,/work/app 是一个完整的路径名,就象你可以在/usr里输入cd /bin,直接到/bin 里一样。

把/work/app 里的第一个/去掉就对了。
lydragon 2002-05-24
  • 打赏
  • 举报
回复
不行,還是沒有把當前目錄改變!
ssw0989 2002-05-24
  • 打赏
  • 举报
回复
sh test或. ./.test

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧