如何从linux中的文本文件转到带有值的目录

时间:2014-11-17 17:22:17

标签: linux bash

我在bash文件中有这个脚本。

TplFolder=$(awk -F= '/^.*directory/{gsub(/ /,"",$2);print $2}' /path/to/oscam.conf)
cd $TplFolder

我控制此

的输出
 TplFolder=$(awk -F= '/^.*directory/{gsub(/ /,"",$2);print $2}' /path/to/oscam.conf)

输出通过" echo $ TplFolder"没问题

/etc/tuxbox/config/

但是对于" cd"不工作

 cd $TplFolder

输出"不能cd到/ etc / tuxbox / config /"

你有其他想法吗?

修改

有效的整个脚本

#!/bin/sh

变量tmp文件夹

TempFolder="/var/volatile/tmp"

从配置文件oscam.conf获取目录。在配置文件中是行httptpl = / etc / tuxbox / config / tpl

OscamTplFolder=$(grep -r httptpl /etc/tuxbox/config/oscam.conf | cut -d= -f2 | xargs)

下载文件的变量

TrunkUrl="http://www.streamboard.tv/svn/oscam-addons/oscam-template/Envi_template/branches/compressed_files/Envi_Template.tgz"

转到临时文件夹并删除文件

cd $TempFolder
[ -f Envi_Template.tgz ] && rm -f Envi_Template.tgz

下载文件并从temp文件夹移动到oscam.conf中的文件夹 - / etc / tuxbox / config / tpl

wget -q $TrunkUrl
[ -f Envi_Template.tgz ] && mv -f Envi_Template.tgz $OscamTplFolder

转到文件夹/ etc / tuxbox / config / tpl并删除一些文件

cd $OscamTplFolder
[ -f CSS.tpl ] && rm -f CSS.tpl
[ -f FOOTER.tpl ] && rm -f FOOTER.tpl
[ -f HEADERSHORT.tpl ] && rm -f HEADERSHORT.tpl

解压缩

tar -xzvf Envi_Template.tgz
rm -if Envi_Template.tgz || exit 1
#done all OK
exit 0

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我无法想象除了你的变量以外的任何其他原因" $ OscamTplFolder"包含一些额外的字符,如\ r \ n。请检查

hexdump -C<<< " $ OscamTplFolder"