如何从 Perl 脚本运行“source”命令(Linux)?

2023-12-04

我在尝试着source来自 Perl 脚本 (script.pl) 的脚本。

system ("source /some/generic/script");

请注意,这个通用脚本可以是 shell、python 或任何其他脚本。另外,我无法将这个通用脚本中存在的逻辑复制到我的 Perl 脚本中。我尝试更换system与 ``,exec, and qx//。每次我都会收到以下错误:

无法执行“source”:script.pl 第 18 行没有此类文件或目录。

我在互联网上发现了许多论坛,其中讨论了此问题的各种原因。但他们都没有提供解决方案。有什么办法可以运行/执行source来自 Perl 脚本的命令?


在bash等中,source是一个内置函数,意味着读取这个文件,并在本地解释它(有点像#include).

在这种情况下,这是没有意义的 - 你要么需要删除source从命令中得到一个 shebang (#!) 位于 shell 脚本开头的行,告诉系统使用哪个 shell 来执行该脚本,或者您需要显式告诉system使用哪个 shell,例如

system "/bin/sh", "/some/generic/script";

[不评论是否真的适合使用system在这种情况下]。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Perl 脚本运行“source”命令(Linux)? 的相关文章

随机推荐

  • 使用 createdesktop api 创建桌面的屏幕截图

    我正在使用 createdesktop api 创建桌面 我想截取屏幕截图或发送输入鼠标 键盘而不向用户显示桌面 有关如何实现此功能的任何想法 我发现的简短答案是你不能 您无法拍摄非活动桌面的屏幕截图 因为没有绘画调用 因为没有可见的窗口可
  • \s 在 C++ 正则表达式中不起作用

    我昨天开始学习正则表达式 在学习时 我看到 s 用于空白字符 但是 由于某种原因 每当我输入空格时 C 中都不会检测到它 Code include
  • 使用维恩图来描述表为集合的 SQL 连接是否合适?

    网上搜索SQL join可以找到下图 我们可以将其解释为维恩图 通过以下方式 标记为表 A 的圆圈是表 A 中的记录集 标记为表 B 的圆圈是表 B 中的记录集 集合的交集表示内连接 也称为 SQL 中的连接 动机 所示的图表在网络上以各种
  • 如何计算mysql中唯一的列值

    这是我的数据 cardNo userName tablename hours date 1 a a 12 12 06 2015 1 a a 5 11 06 2015 2 b b 3 15 06 2015 1 a a 8 12 06 2015
  • 如何在 angularjs 下拉元素上正确使用 ng-change ?

    我的模板中有这个下拉列表 div class col lg 5 col md 5 col sm 5 col xs 5 div class input group input group sm div div
  • dd-mm-yyyy hh:mm 的正则表达式

    我想查看日期dd mm yyyy hh mm格式 现在我正在使用 0 1 9 1 d 2 d 3 01 0 1 9 1 d 2 d 3 01 19 20 d 2 匹配日期的正则表达式dd mm yyyy format 但我想检查一下dd m
  • 桌面快捷方式的位置存储在哪里?

    Windows桌面快捷方式的位置存储在哪里 我问的是屏幕职位图标的一部分 而不是实际的图标本身 我知道图标本身存储在各种 DLL EXE 等中 这些位置显然存储在某些非易失性存储中 因为它们在重新启动时仍然存在 我的最终目标是编写一个应用程
  • 阻止滚动函数多次触发?

    所以我有一个脚本 可以从数据库中提取数据并在用户接近页面底部时显示它 问题 当用户到达底部时 脚本应该只返回一个帖子 但实际上 正在发出多个请求 导致所有帖子都被快速从数据库中提取 这反过来又以错误的方式返回它们命令 我的问题是 有没有人知
  • 使用 open() 或 creat() 创建文件的权限位设置比我要求的要少

    我正在编写一个程序来模仿 cp 实用程序 但是 我无法获得文件权限以正常工作 我知道它们存储在结构中stat并存储在st mode场与stat 我的问题是我没有获得组或其他类别的写入权限 即我得到 rwxr xr x作为文件的权限 即使源文
  • Java 8 流的 toArray 和 size 参数

    我想知道stream toArray x gt new Integer x 如何知道数组的大小 我写了一个片段 其中创建了一个大小为 4 的整数列表并过滤了值 它创建了一个过滤流长度的数组 我在流上看不到任何方法来获取流的大小 List
  • 使用 Aforge.Net 将灰度图像转换为黑白图像

    我对 Aforge Net 很陌生 我正在寻找一种将灰度图像转换为黑白图像的方法 我真的找不到任何支持吗 我设法通过应用灰度滤镜将普通图像转换为灰度图像 但我找不到任何有关黑白转换的信息 有人可以帮我一下吗 使用阈值类别将图像转换为黑白图像
  • Java applet 在 Web 上的可用性

    对于我们大学的电子学习项目 我们使用 Java 小程序在 Ilias 学习单元内显示一些交互式内容 例如一些交互式函数绘图或一些简单的问答系统或其他交互式元素以及这些元素的任意组合 我们决定使用 Java 因为我们想要一个开放的解决方案 当
  • Git:使一个分支与另一个分支完全相同

    我对 Git 比较陌生 而且仍然不太适应 现在 我正在寻找可以使当前分支看起来像另一个分支的命令 选项 魔法 也就是说 合并它们 但当出现冲突时 始终选择要合并到当前分支中的差异 我的情况是这样的 我在 master 分支上有一个稳定的应用
  • d3js 动态 csv 从下拉列表切换

    我是 d3js 的新手 我在这里成功使用了示例 https gist github com d3noob 4414436 这非常好 因为它可以远程工作 CSV 存储在服务器端 现在 我想更进一步 添加从列表中选择源 CSV 并重新绘制图表的
  • # 和 ## 运算符在 C 中做什么? [复制]

    这个问题在这里已经有答案了 类似 NAME 或 NAME 它们在C中是什么意思 我在关于宏的 GCC 文档中看到了它们 运算符 连接两个参数 它们之间不留空格 define printe a b a b printe c out lt lt
  • 动态导入 JavaScript

    请问将 JavaScript js 文件动态导入父 JavaScript 代码的正确方法是什么 我正在使用以下代码 但它似乎不正确 function loadjscssfile filename filetype if filename i
  • 类型错误:“图像”对象不可使用 PIL 进行下标

    我正在尝试在 google colab 上开发一个网络应用程序 我想在这个 Web 应用程序中使用我之前训练过的模型制作一个图像分类器 当我在 Web 应用程序中从浏览器中选择要分类的图像时 出现以下错误 TypeError Image o
  • 从 NSMutable 字典中分离键和对象,并使用 sqlite 的插入命令中的值

    大家好 我正在 iPhone 中开发一个 sqlite 应用程序 因为我是这个应用程序的新手 所以我不知道如何在 sqlite 的插入语句命令中使用 NSMutableDictionary 中的键和对象 例如 我想要以下格式的插入语句 插入
  • 直接在javascript函数中调用C#方法

    如何在 javascript 函数中直接调用 C 方法 例如page load页面后面代码的方法 请帮我 要在客户端事件上调用服务器端方法 您需要执行以下操作 1 创建服务器端方法 void DoSomething 2 实施System W
  • 如何从 Perl 脚本运行“source”命令(Linux)?

    我在尝试着source来自 Perl 脚本 script pl 的脚本 system source some generic script 请注意 这个通用脚本可以是 shell python 或任何其他脚本 另外 我无法将这个通用脚本中存