我在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
感谢您的帮助。
答案 0 :(得分:0)
我无法想象除了你的变量以外的任何其他原因" $ OscamTplFolder"包含一些额外的字符,如\ r \ n。请检查
hexdump -C<<< " $ OscamTplFolder"