一个简单的问题
FILE_PATH='/temp/eth1.txt'
grep IPADDR $FILE_PATH
这样子 死活找不到路径
但是
grep IPADDR /temp/eth1.txt 却又可以正常输出
问题出在哪里啊? 各位大大!! 小生在此先谢过!
关于 路径存储成变量就找不到文件路径的问题
-
- 帖子: 6
- 注册时间: 2009-09-05 16:47
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 关于 路径存储成变量就找不到文件路径的问题
十有八九是有某个地方输入错了。
如果文件路径名中没有特殊字符,那么执行
然后用鼠标拷贝输出结果到命令执行一下看看,如果没问题,再用光标键从历史记录中调用刚才那条命令,去掉 echo,我就不信会有问题。
如果文件路径名中没有特殊字符,那么执行
代码: 全选
echo grep IPADDR $FILE_PATH
-
- 帖子: 6
- 注册时间: 2009-09-05 16:47
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: 关于 路径存储成变量就找不到文件路径的问题
太奇怪了, 把你的文件发上来看看
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 关于 路径存储成变量就找不到文件路径的问题
文件是 DOS 格式的吧?dos2unix g.sh 试试。
-
- 帖子: 6
- 注册时间: 2009-09-05 16:47
Re: 关于 路径存储成变量就找不到文件路径的问题
太感谢了!!困扰了我好多天!!aerofox 写了:文件是 DOS 格式的吧?dos2unix g.sh 试试。
因为是初学者 smb了虚拟机里面的文件夹 用windows的记事本创建文件!!!
vi创建就不会出现这问题了!
感觉有点奇怪!! 同样是文本文件为啥会不一样呐??
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 关于 路径存储成变量就找不到文件路径的问题
DOS/Windows的文本文件以 回车/换行符(^M^J) 结束一行,Linux 用一个换行符结束一行。所以,用 Windows 下的编辑器编辑脚本,到 Linux 下行尾就多了个 ^M。cd $FILE_PATH 实际上相当于 cd /temp^M^M,其中 ^M 是一个字符,表示 ASCII 码为 13 的字符(回车)。这样,bash 就会给出错误信息:
但是,在显示时,^M 表示光标回到行首,所以,你看到的就是:
如果你运行
用 vi 打开 g.log,应该能看到“隐藏”的字符。
代码: 全选
./g.sh: line 3: cd: /temp^M^M: No such file or directory
代码: 全选
: No such file or directory
代码: 全选
./g.sh >& g.log
-
- 帖子: 6
- 注册时间: 2009-09-05 16:47
Re: 关于 路径存储成变量就找不到文件路径的问题
明白了!
谢谢大师!!!!
谢谢大师!!!!