bash - 尝试使用 BOXEE 中的 bash 启动 XBMC

标签 bash unix xbmc boxee

您好,刚刚接触 Unix 和 bash 编程。我正在尝试制作一个简单的启动脚本,让我的 boxee 启动存储在存储卡上的 XBMC。我可以通过在 telnet 中输入命令来启动命令,但如果我调用 test.sh 脚本,它将不允许我访问存储 XBMC 的目录。

#!/tmp/mnt/6337-3533/xbmc
BASEDIR=/tmp/mnt/6337-3533/xbmc $0
killall U99boxee; killall BoxeeLauncher; killall run_boxee.sh; killall Boxee; killall BoxeeHal


GCONV_PATH=$PWD/gconv AE_ENGINE=active PYTHONPATH=$PWD/python2.7:$PWD/python2.7/lib-dynload XBMC_HOME=$PWD ./xbmc.bin -p

给出:

# sh test.sh
: not foundne 2:
: not foundne 3:
test.sh: line 4: /tmp/mnt/6337-3533/xbmc: Permission denied
: not foundne 5:
: not foundne 6:
killall: U99boxee: no process killed
killall: BoxeeLauncher: no process killed
killall: run_boxee.sh: no process killed
killall: Boxee: no process killed
: no process killed
: not foundne 9:
: not foundne 10:
test.sh: line 11: ./xbmc.bin: not found
#

我使用了 xbmc 的命令行。我假设 $PWD 期望脚本位于/tmp/mnt/6337-3533/xbmc

如果我在 telnet 中输入“cd/tmp/mnt/6337-3533/xbmc”,它会将我带到目录 但如果我将该代码放入脚本中,它将使我的访问被拒绝。

我在这里做错了什么。或者我该如何解决这个问题,这样我就不必更改我的工作目录?

最佳答案

第 2 行将扩展为

BASEDIR=/tmp/mnt/6337-3533/xbmc test.sh

这将尝试使用第 1 行指定的/tmp/mnt/6337-3533/xbmc 解释器运行 test.sh,这将失败,因为那是一个目录。如果您要通过执行“sh test.sh”来运行脚本,则第 1 行不必指定有效的解释器,但如果将第 1 行更改为

#!/bin/sh

如果您只想调用 xbmc.bin 以查看其环境中 BASEDIR 的值,请将第 2 行替换为

BASEDIR=/tmp/mnt/6337-3533/xbmc
export BASEDIR

关于bash - 尝试使用 BOXEE 中的 bash 启动 XBMC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213432/

相关文章:

bash - 如何删除 bash 中的多余空格?

mysql - 在所有远程服务器上运行 mysql 命令的脚本

transmission - OpenELEC,未安装传输

batch-file - 批量命令删除具有特定名称的所有子文件夹

java - 如何从java访问sed、awk等linux命令

xml - 使用XMLStarlet插入1000多个节点和属性-运行缓慢

linux - bash 脚本中的 ` 是什么?

正则表达式:在多行上使用 sed 提取两个字符串之间的内容

linux - 如何在 Linux 中用美元符号 $ 替换文本字符串?

python - 如何检查 xbmc 中覆盖它们的值?