在调用另一个脚本时使用点或“源” - 有什么区别?

2023-12-10

让我们举一个小例子:

$ cat source.sh
#!/bin/bash
echo "I'm file source-1"

. source-2.sh

And:

$ cat source-2.sh
#!/bin/bash
echo "I'm file source-2"

Now run:

$ ./source.sh
I'm file source-1
I'm file source-2

如果我要更改第一个文件中第二个文件的调用:

$ cat source.sh
#!/bin/bash
echo "I'm file source-1"

source source-2.sh

它会产生与使用相同的效果dot.

这些方法有什么区别?


唯一的区别在于便携性。

.是用于从文件执行命令的 POSIX 标准命令;source是 Bash 和其他一些 shell 提供的更易读的同义词。然而,Bash 本身并不区分两者。

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

在调用另一个脚本时使用点或“源” - 有什么区别? 的相关文章

  • Mac OS X 中 Bash 脚本中的 SFTP 命令

    我需要使用 SFTP 和 SSH 从 Mac 主机将文本文件传输到远程 PC freeSSH 这两个连接在本地网络中 那么有没有办法从 Bash 脚本内部运行 SFTP 命令 使用提供的用户名和密码 我已经尝试过一些脚本expect 但我没
  • 我的 unix 脚本出了什么问题

    bin bash while echo n Player s name read name name ZZZ do searchresult grep name playername if searchresult 0 then echo
  • 如何使 case 语句匹配数字范围?

    我正在运行一个列号范围为 0 50 的开关案例 现在每个案例都支持离散列号 我观察到它的失败 这是代码 i 10 a 1 b 0 65 if a b then case i in 1 2 5 echo Not OK 9 10 12 echo
  • bash 中的“declare -r”和“readonly”有什么区别?

    在 bash 中 有什么区别declare r and readonly declare r a a1 readonly b b1 我不知道该选择哪个 tl dr readonly使用默认范围global甚至在函数内部 declare使用范
  • 规范化 solaris 上的路径名

    在 GNU 系统上我只会使用readlink f SOME PATH 但 Solaris 没有 readlink 我更喜欢在 bash 中运行良好的程序 但如果需要的话其他程序也可以 Edit 到目前为止 我想到的最好的方法是使用 cd 和
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 如何将 bash 脚本的整个输出保存到文件

    我正在尝试将 bash 脚本的整个输出保存到文件中 我目前在代码开头有一个参数 ip 地址 如下所示 bin bash USAGE Usage 0
  • 在 Fish Shell 中设置导出

    我安装了多个版本的 PHP 对于我的正常开发 我总是使用通过自制程序安装的 PHP 5 5 x 在鱼壳里 which php php version gt usr local bin php gt PHP 5 5 8 cli built J
  • 如何使用 bash 显示具有两个子文件夹的文件夹?

    我通过 Cygwin 使用 bash 我有一个大文件夹 a 有很多子文件夹 b 这些子文件夹各有一个或两个子文件夹 c 我想找到所有有两个子文件夹 c 的子文件夹 b 并输出它们 结构如下 a b1 c1 b2 c1 c2 b3 c1 c2
  • powershell stdin 管道和重定向

    你好 我一直在制作一个小的跨平台脚 本 我可以将其卷曲并通过管道传输到bash和Powershell中 基本思想是服务器向解释器发送一个命令 然后它给出一个命令将所有输出重定向到标准输出 bash 中的一个例子是 some commands
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 使用带有curl 的内部字段分隔符

    当我做 ls IFS l 我得到了我期望的输出 当我做 curl IFShttp www google com 我不 我是否误解了内部字段分隔符 如何在不使用任何空格字符的情况下运行curl 命令 您需要将变量放在大括号内 否则 shell
  • 如何在递归调用函数时阻止 bash 创建子 shell

    这是一个计算阶乘的简单 shell 函数 bin bash function factorial if 1 lt 2 then echo 1 else echo 1 factorial 1 1 fi factorial 1 但我发现这个脚本
  • 从 bash 从新的 Google Chrome 浏览器会话获取“用户代理”字符串

    我想要得到用户代理 HTTP 请求标头 https developer mozilla org en US docs Web HTTP Headers User Agent来自 bash 的新 Google Chrome 浏览器会话 刚刚打
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • bash 行长度限制从何而来?

    在运行 Bash 4 4 19 标准安装 的 Solaris 11 上 输入行似乎有 256 个字符的限制 我想了解这个限制从何而来 我浏览了手册页 但没有找到任何解决此问题的内容 仅当未使用 readline 库时才会发生这种情况 在下面
  • 如何判断 Bash 中是否存在文件?

    这会检查文件是否存在 bin bash FILE 1 if f FILE then echo File FILE exists else echo File FILE does not exist fi 我如何只检查文件是否存在not ex
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件

随机推荐

  • 在 jQuery 中,同时使用 resizing() 和draggable() 时如何修复包含错误? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 在 jQuery 中 同时使用 resizing 和d
  • R:如何根据列中的值添加行

    我有一个如下所示的数据框 line c 1 2 NA 4 5 NA 7 group c 1 0 Group A 2 0 Group B 3 0 Group C 4 0 Group D 5 0 Group E 6 0 Group F 7 0
  • simplexml 错误处理 php

    我正在使用以下代码 function GetTwitterAvatar username xml simplexml load file http twitter com users username xml imgurl xml gt p
  • shell中管道组件的执行顺序

    ls wc 按什么顺序ls and wc在这里执行 或者是 and wc只是论点ls 在表达式中ls wc 您的 shell 将大致执行以下操作 启动两个子 shell A 和 B A 的标准输出连接到 B 的标准输入 在子 shell A
  • 在 javascript 中设置子字符串的样式

    你好 我正在尝试使用 javascript 设置子字符串的样式 这是我的代码 function runtest document getElementById test1 innerHTML substring 0 2 style font
  • 结构的大小如何随不同数据类型而变化

    我使用的是 Linux 32 位操作系统 和 GCC 编译器 我尝试了三种不同类型的结构 在第一个结构中我只定义了一个char多变的 该结构的大小为 1 这是正确的 在第二个结构中我只定义了一个int多变的 这里结构的大小显示为 4 这也是
  • 与所定义的类具有相同类型的 static constexpr 成员

    我希望 C 类有一个 C 类型的静态 constexpr 成员 这在 C 11 中可能吗 尝试1 struct Foo constexpr Foo static constexpr Foo f Foo constexpr Foo Foo f
  • 持续运行后台服务

    我的目标是 sdk 版本 27 最低版本为 19 并尝试获得在后台持续运行的服务 我尝试了不同的服务启动选项 但它仍然被该应用程序杀死 我尝试使用 BroadcastReceiver 在服务被杀死时启动该服务 但这给了我一个错误 指出该应用
  • Cube.js 后端出现错误继续等待问题

    我在连接到 AWS 无服务器上的cube js 后端并在前端仪表板中执行 cubejs api v1 load 请求时遇到一些问题 我不断得到 error Continue wait 而不是返回结果 我遵循react dashboard指南
  • 为什么这个作业在函数之外不起作用?

    这是我正在发生的事情的一个例子 第一段代码将不起作用 typedef struct char desc unsigned quantity item item inventory INVENTORY SIZE item thing This
  • 在哪里可以找到 ncso.jar?

    我正在尝试开发一个应用程序 它将远程连接到 Lotusnote 服务器 据我所知 我应该将 ncso jar 文件添加到我的应用程序中 以启用对 Lotus Note domino 服务器的远程访问 因此 我将不胜感激帮助我下载此文件 您可
  • 从 iPhone 应用程序发送推文

    我想向我的应用程序添加一个简单的有限 Twitter 功能 应用程序的用户输入他的 Twitter 用户名和密码以及推文文本 然后按下按钮并发送推文 我的应用程序可以处理成功或失败的通知 例如 如果密码或用户名无效 我保证我已经观看了一百个
  • “HMODULE LoadLibraryA(LPCSTR)”:无法将参数 1 从“const _Elem *”转换为“LPCSTR”

    在 vc 中我有一个包含两个项目的解决方案 项目 A 有一个dllLoader h and dllLoader cpp它加载一个dll with LoadLibrary我需要在项目B中调用它的函数 所以我将头文件和cpp文件复制并粘贴到项目
  • c# jquery 未将对象引用设置为对象的实例

    我有一个 C 中的 Web 服务 我从我的 jquery 脚本中调用它 这是c 中的web服务 WebMethod ScriptMethod UseHttpGet true public void LoadService2Daily str
  • React 项目 WAR 文件

    我正在使用 React 开发一个 Web 应用程序 我想为该项目制作一个可部署的 WAR 文件 如果有人可以提供良好的资源或者可以帮助我 我需要帮助吗 首先 添加一个pom xml并将其设为maven项目 然后构建它 它会在目标文件夹中为您
  • 如何使用终端在 Mac OS X 上运行 C 程序?

    我是 C 语言新手 这是我的 Hello World 程序 include
  • 将县边界映射到 ggmap

    我正在生成一些地图 我想在地图上显示县的边界ggmap路线图 这是使用德克萨斯州部分地区的示例 library ggmap map get map location c 95 31619 28 42460 zoom 6 source goo
  • 无法启动 Android 12 AVD,但可以启动 Android 11 AVD

    我一直在使用 Android 11 AVD 开发和测试我的应用程序 没有出现任何问题 现在我想测试 Android 12 并使用 Android 12 映像创建一个新的 AVD 但是当我启动 AVD 时 它会生成一个 qemu 进程 但我没
  • 将 PNG 拆分为 RGB 和 Alpha 通道

    我正在尝试对 PNG 文件进行一些自动处理 它接受 RGBa png 文件并输出两个 jpeg 文件 1 个只是 RGB 通道 另一个只是 alpha 通道 作为灰度图像 有什么方法可以在 C 中本地执行此操作吗 如果需要第三方库 只要它是
  • 在调用另一个脚本时使用点或“源” - 有什么区别?

    让我们举一个小例子 cat source sh bin bash echo I m file source 1 source 2 sh And cat source 2 sh bin bash echo I m file source 2