【问题标题】:executing a program in shell script linux在shell脚本linux中执行程序
【发布时间】:2017-08-11 14:25:48
【问题描述】:

我有一个程序试图通过 shell 脚本执行

这是执行程序的命令 /data/local/tmp/dbus/dbus-run-session --dbus-daemon=/data/local/tmp/dbus/dbus-daemon --config-file=/data/local/tmp/dbus/session.conf sh 如果我在没有 shell 脚本的情况下直接运行程序,这可以正常工作

但是当我将相同的命令放入 shell 脚本并运行 shell 脚本时,我得到以下错误

exec 'sh 的权限被拒绝

如果我从命令末尾删除 sh,我会收到错误,即需要 非选项参数

这不是 chmod +x 的问题,因为脚本正在运行并且我已经完成了 chmod

附言。我在 android 终端上运行这个 shell 脚本

有人知道如何解决这个问题吗?

【问题讨论】:

  • 查看整个 shell 脚本会很有帮助。
  • /data/local/tmp/dbus/dbus-run-session --dbus-daemon=/data/local/tmp/dbus/dbus-daemon --config-file=/data/local /tmp/dbus/session.conf sh 这是我在 shell 脚本中的唯一命令
  • 基本上是命令 /data/local/tmp/dbus/dbus-run-session --dbus-daemon=/data/local/tmp/dbus/dbus-daemon --config-file=/ data/local/tmp/dbus/session.conf sh 最后需要一个 sh 才能执行,否则它会抱怨需要一个非选项参数。如果我删除 sh 并将脚本作为 sh 运行,它会抱怨,因为最后缺少 sh
  • 取决于一堆我们没有的细节。据我们所知,您在一个 SELinux 处于强制模式的系统上,并且 dbus 不允许运行/bin/sh,除非通过终端调用。
  • ...也就是说,这很可能不是关于shell脚本的问题,而是一个配置问题。

标签: android linux shell


【解决方案1】:

您可能需要使用chmod +x <yourscript.sh> 这应该允许脚本运行!

【讨论】:

  • 我已经完成了 chmod +x 脚本确实运行了,但最后抱怨 sh 命令
猜你喜欢
  • 2014-03-26
  • 2011-05-21
  • 1970-01-01
  • 1970-01-01
  • 2022-10-24
  • 1970-01-01
  • 2018-03-28
  • 1970-01-01
  • 2011-04-13
相关资源
最近更新 更多