linux - 如何在bash脚本中将程序作为变量执行?
问题描述
我正在编写一个带有两个输入 prog1 和 prog2 的程序,它们都是文件。我先将这两个变量保存为program1和program2,然后在我的程序中使用./“$program1”和./“program2”执行这两个文件,但是当我使用ls检查时输出是“No such file or directory”这些文件与脚本位于同一目录中。谁能告诉我如何执行它?谢谢!
解决方案
首先,您的括号似乎不合适 - ./"$program1" 不是一个有效的表达式,要么松开括号,要么这样写:"./$program1"。
然后详细说明大卫的评论:
有两种方法可以从脚本运行另一个脚本。一个是让它们像大卫所说的那样可执行。
但是,您也可以使用“source”命令来读取和执行文件的内容,即使它们不可执行。因此,以下命令在任何情况下都可以使用:
源“./$program1”
推荐阅读
- python - 从一个字典列表中提取值到另一个
- javascript - 在这个函数中回调是如何执行的?
- node.js - 从 ChildProcess 创建一个转换流
- sorting - d3 气泡图:特定的排序和布局
- react-native - 在本机反应中有条件地设置初始路由
- botframework - 在 QnA Maker 知识库中没有该问题(新问题)的答案时保存问题
- mysql - 使用 Eloquent 将数据插入到两个具有关系的不同表中
- python - 如何将多次迭代的pyomo解决方案(仅包括参数、目标和变量)写入excel/csv文件?
- c - 如何在编码器 x264 和解码器 libavcodec 中找到量化的变换系数?
- terraform - Terraform 可选嵌套对象变量