晕了,晕了

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
pshvvvv
帖子: 308
注册时间: 2009-02-23 21:58
联系:

晕了,晕了

#1

帖子 pshvvvv » 2009-05-09 16:07

在A文件夹下有个文件和一个脚本

在A下执行脚本,说文件存在 (XX@XX:A/$ ./script.sh)
不在A下,在其他地方执行脚本,脚本运行但说文件不存在 (XX@XX:~$ /A/script.sh或者XX@XX:~$ sh /A/script.sh)

那到底文件是存在啊还是不存在啊? :em20
它到底是该存在还不该存在啊??

谁来告诉我一下,我如何才能让它存在呢?
选择之前,选择最重要;选择之后,坚持最重要!!!
只有偏执狂才能成功!!!
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: 晕了,晕了

#2

帖子 adagio » 2009-05-09 16:10

路径错了吧?A在根目录下?
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
小普林斯
帖子: 707
注册时间: 2009-04-14 13:18

Re: 晕了,晕了

#3

帖子 小普林斯 » 2009-05-09 16:11

可能是路径问题~
头像
pshvvvv
帖子: 308
注册时间: 2009-02-23 21:58
联系:

Re: 晕了,晕了

#4

帖子 pshvvvv » 2009-05-09 16:14

我好像明白了 脚本中我用的相对路径

脚本在A下 检测当前文件夹

我在其他地方运行脚本,就是检测的当前目录?可是为什么呢?为什么不是检测脚本自己目录呢
选择之前,选择最重要;选择之后,坚持最重要!!!
只有偏执狂才能成功!!!
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 晕了,晕了

#5

帖子 aerofox » 2009-05-11 22:49

你可以要求检测脚本自己所在的目录:

代码: 全选

progdir=`dirname "$0"`
filepath="$progdir/filename"
头像
pshvvvv
帖子: 308
注册时间: 2009-02-23 21:58
联系:

Re: 晕了,晕了

#6

帖子 pshvvvv » 2009-05-29 0:22

哦,这样阿,谢谢
选择之前,选择最重要;选择之后,坚持最重要!!!
只有偏执狂才能成功!!!
回复