linux - 如何在 linux 中使用文本文件中的值转到目录

标签 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"输出 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/

相关文章:

linux - bash 中多个单词作为可能的变量

Linux 上的 Java 服务 - 如何确保持续正常运行时间。守护进程、Shell 脚本还是 Wrapper?

linux - 使用 imagemagick 将剪切/裁剪标记添加到 pdf

arrays - bash “read -a” 在空分隔字符串变量上循环

linux - Bash 脚本中的变量,保持上次运行时的值

bash - 使用 (...) 创建的子 shell 的行为不同于 bash -c '...'

bash - shell 中的 <<EOF 和 <<\EOF heredocs 有什么区别

linux - 服务器的错误日志

python - Raspbian 在桌面加载 Python 脚本后从终端窗口运行 4 个命令?

Java 线程转储优先级值与 Linux 上的实际线程优先级不对应?