首页 > 解决方案 > 如何在bash脚本中将程序作为变量执行?

问题描述

我正在编写一个带有两个输入 prog1 和 prog2 的程序,它们都是文件。我先将这两个变量保存为program1和program2,然后在我的程序中使用./“$program1”和./“program2”执行这两个文件,但是当我使用ls检查时输出是“No such file or directory”这些文件与脚本位于同一目录中。谁能告诉我如何执行它?谢谢!

标签: linuxbashunix

解决方案


首先,您的括号似乎不合适 - ./"$program1" 不是一个有效的表达式,要么松开括号,要么这样写:"./$program1"。

然后详细说明大卫的评论:

有两种方法可以从脚本运行另一个脚本。一个是让它们像大卫所说的那样可执行。

但是,您也可以使用“source”命令来读取和执行文件的内容,即使它们不可执行。因此,以下命令在任何情况下都可以使用:

源“./$program1”


推荐阅读