在没有sudo的情况下运行可执行文件

雷德·贝塞特

我的功能很小.zshrc它创建一个命令来搜索并运行一个可执行文件,该文件在当前目录或当前路径上方的父目录中可能存在或可能不存在。我有逻辑来查找可执行文件(如果存在),但是当我尝试运行它时,出现以下错误:

使用/ Users / username / some / directory / executable_file

function_name:15:没有这样的文件或目录:/ Users / username / some / directory / executable_file

由以下代码生成:

if [[ $current_path != / ]]
  then
    echo "Using $current_path/executable_file"
    "$current_path/executable_file $@"

但是,该路径是正确的,因为复制粘贴,或使用sudo运行该功能都可以正常工作。我尝试sudo -u在脚本中以当前用户身份运行该函数,但仍然失败。

如何运行可执行脚本,就像用户手动键入可执行脚本一样,或者至少没有sudo和密码?

杰夫·谢勒(Jeff Schaller)

围绕这行的报价:

"$current_path/executable_file $@"

告诉外壳程序找到并执行一项-双引号之间的内容(在各种变量扩展之后)。

在最简单的情况下,如果函数没有参数,它将尝试执行:

"$current_path/executable_file "

...这可能会失败,即使$current_path/executable_file文件本身存在,也有尾随空间。

如果您确实碰巧传递了参数,则存在这样的文件的可能性更低,即:

"$current_path/executable_file arg1 arg2 arg3..."

重新排列引号,以保护$current_path变量的扩展,但允许可执行文件的名称在以下情况下结束:

"$current_path/executable_file" "$@"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使Python脚本独立可执行文件在没有任何依赖的情况下运行?

如何在没有互联网的情况下运行需要包的可执行文件?

如何在没有pyinstaller的情况下使用“ ./”创建python可执行文件

如何在没有可执行文件弹出控制台的情况下在Python中运行可执行文件?

如何在不实际运行的情况下测试可执行文件?

如何在不使用Java -jar的情况下运行Java可执行文件

如何在不添加 ./ 的情况下运行可执行文件

我应该在没有JavaScript文件的情况下添加什么以在Node.js中创建可执行文件?

如何在不显式指定.exe扩展名的情况下从终端运行Windows可执行文件?

可以在不引导的情况下运行已安装发行版磁盘上的可执行文件吗?

如何在不使用 cd 或修改 PATH 的情况下从不同目录运行可执行文件?

如何在不安装cabal或ghc的情况下运行haskell可执行文件(cabal项目)

我可以在没有管理员级别特权的情况下将可执行文件放入用户的PATH吗?

有什么方法可以在不使用 Python 中的可执行文件的情况下抓取 JS 渲染页面?

在不进入命令行的文件位置的情况下访问可执行文件

没有设置可执行位时,如何从CD运行可执行文件?

在软件名称与可执行文件不同的情况下,如何找到软件的PID?

默认情况下在终端中运行可执行文件txt.file

suid可执行文件没有提升权限,但是`sudo`确实可以提升

可执行文件在一个帐户下没有sudo特权运行,但在另一个帐户下没有?

在不安装Visual C ++可再发行组件包的情况下运行Visual Studio 2015 C ++可执行文件

如何在不运行.exe的情况下从.exe(可执行文件)获取版本,作者,发布者等以及其他元数据

如果没有 Boost DLL,Visual C++ 可执行文件将无法运行

如何使用CMD脚本运行没有EXE扩展名的可执行文件?

调试在控制台上运行的捆绑可执行文件,但并非没有

javaw.exe没有作为可执行文件运行

如何使用Docker API在具有可执行文件权限的情况下将主机卷安装到Docker容器

在什么情况下将不使用在路径中首先找到的可执行文件

如何在不使用Cabal的情况下使用Chart-diagrams的标准字体部署可执行文件