我在 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"输出 OK
/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
下载文件并从临时文件夹移动到 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
感谢您的帮助。
最佳答案
除了您的变量“$OscamTplFolder”包含一些额外的字符(如\r)之外,我无法想象任何其他原因。请检查
hexdump -C <<< "$OscamTplFolder"
关于linux - 如何在 linux 中使用文本文件中的值转到目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26978267/