首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用./script.sh和.启动脚本之间的区别../script.sh

在这个问答内容中,我们可以看到三种不同的脚本启动方式:

  1. ./script.sh
  2. . script.sh
  3. ../script.sh

这三种方式的区别如下:

  1. ./script.sh:这种方式是在当前目录下寻找 script.sh 脚本并执行它。如果当前目录下没有这个脚本,则会报错。
  2. . script.sh:这种方式是在当前 shell 中执行 script.sh 脚本,而不是在子 shell 中执行。这意味着在脚本中声明的变量和函数会在当前 shell 中生效,并且可以影响当前 shell 的环境。
  3. ../script.sh:这种方式是在上一级目录下寻找 script.sh 脚本并执行它。如果上一级目录下没有这个脚本,则会报错。

总的来说,这三种方式的主要区别在于它们执行脚本的方式和作用域不同。在实际使用中,应该根据具体的需求选择合适的方式来执行脚本。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux中20个crontab示例

就像你想每 5 分钟执行一次一样,使用 */5。 6. 安排一个 cron 在选定月份执行。 有时我们需要安排一个任务只在选定月份执行。下面的示例脚本将在 1 月、5 月 8 月运行。...无法通过时间参数安排脚本仅在第一个星期天执行脚本,但我们可以使用命令字段中条件来执行此操作。...0 */4 * * * /scripts/script.sh 10. 安排一个 cron 在每个星期日星期一执行两次。 将任务安排为仅在周日周一执行两次。使用以下设置来做到这一点。...它将在每月第一分钟执行任务。每月执行诸如支付账单向客户开具发票等任务可能会很有用。 @monthly /scripts/script.sh 15. 安排每周执行任务 (@weekly)。...@reboot 对于您希望在系统启动时运行任务很有用。它将与系统启动脚本相同。它对于在后台自动启动任务很有用。 @reboot /scripts/script.sh 19.

1.7K10
  • Bash 脚本 set 命令教程

    服务器开发管理离不开 Bash 脚本,掌握它需要学习大量细节。 set命令是 Bash 脚本重要环节,却常常被忽视,导致脚本安全性可维护性出问题。...本文介绍它基本用法,让你可以更安心地使用 Bash 脚本。 一、简介 我们知道,Bash 执行脚本时候,会创建一个新 Shell。...$ bash script.sh script.sh:行3: foo: 未找到命令 bar 可以看到,Bash 只是显示有错误,并没有终止执行。 这种行为很不利于脚本安全除错。...还有一种方法是使用command || true,使得该命令即使执行失败,脚本也不会终止执行。 #!...$ bash script.sh a script.sh:行4: foo: 未找到命令 可以看到,echo bar没有执行。 七、总结 set命令上面这四个参数,一般都放在一起使用

    1.5K50

    详解shell语法检查模式

    : $ chmod +x script.sh 我们可以执行脚本并显示它被 Shell 读取到每一行: $ bash -v script.sh 在 Shell 脚本中启用语法检查调试模式 使用...激活语法检查命令如下: $ bash -n script.sh 因为脚本语法是正确,上面的命令不会显示任何东西。...: $ bash -n script.sh 从上面的输出中,我们看到我们脚本中有一个错误,for 循环缺少了一个结束 done 关键字。...file 我们可以同时结合 verbose 模式语法检查模式: $ bash -vn script.sh 我们还可以通过修改脚本首行来启用脚本检查 如下面的例子: #!.../script.sh script.sh: line 12: syntax error: unexpected end of file 此外,我们可以用内置 set 命令来在脚本中启用调试模式。

    82610

    Bash 脚本 set 命令教程

    服务器开发管理离不开 Bash 脚本,掌握它需要学习大量细节。 set命令是 Bash 脚本重要环节,却常常被忽视,导致脚本安全性可维护性出问题。...本文介绍它基本用法,让你可以更安心地使用 Bash 脚本。 一、简介 我们知道,Bash 执行脚本时候,会创建一个新 Shell。...$ bash script.sh script.sh:行3: foo: 未找到命令 bar 可以看到,Bash 只是显示有错误,并没有终止执行。 这种行为很不利于脚本安全除错。...还有一种方法是使用command || true,使得该命令即使执行失败,脚本也不会终止执行。 #!...$ bash script.sh a script.sh:行4: foo: 未找到命令 可以看到,echo bar没有执行。 七、总结 set命令上面这四个参数,一般都放在一起使用

    1.7K40

    在 Shell 脚本中执行语法检查调试模式

    写完脚本后,建议在运行脚本之前先检查脚本语法,而不是查看它们输出以确认它们是否正常工作。 在本系列这一部分,我们将了解如何使用语法检查调试模式。...记住我们之前在本系列 Linux 中启用 Shell 脚本调试模式 中解释了不同调试选项,在这里,我们将使用它们来执行脚本调试。...: $ chmod +x script.sh 我们可以执行脚本并显示它被 Shell 读取到每一行: $ bash -v script.sh ---- 在 Shell 脚本中启用语法检查调试模式 回到我们主题重点...激活语法检查命令如下: $ bash -n script.sh 因为脚本语法是正确,上面的命令不会显示任何东西。...file 我们可以同时结合 verbose 模式语法检查模式: $ bash -vn script.sh ---- 通过修改脚本首行来启用脚本检查 另外,我们可以通过修改脚本首行来启用脚本检查,如下面的例子

    1.9K20

    程序员必须掌握这50条Linux指令

    - 启动或停止服务 停止 apache2 服务:service apache2 stop crontab - 定时任务 编辑当前用户定时任务:crontab -e df - 磁盘空间状态 显示磁盘空间使用情况...:df -h du - 磁盘使用情况 显示当前目录磁盘使用情况:du -sh free - 查看内存状态 显示内存使用情况:free -h Part 5: 网络管理 ifconfig - 配置网络接口...script.sh 脚本:bash script.sh sh - Shell 脚本解释器 与 bash 类似,运行 script.sh 脚本:sh script.sh source - 读取并执行文件...执行 script.sh 脚本并更新当前环境:source script.sh alias - 创建命令别名 创建一个别名 ll 用于 ls -l:alias ll='ls -l' history...它们是Linux命令行世界基石。通过不断实践探索,你将能够更加熟练地使用Linux,解锁更多功能可能性。 感谢你阅读,希望这篇文章能够帮助你更好地掌握Linux命令行。

    21710

    如何在Linux中加入cron任务

    cron是Linux中默认计划任务。使用cron,你可以安排一个计划(比如:命令或者shell脚本)周期性地运行或者在指定分钟、小时、天、周、月等特定时间运行。...cron在你安排不同常规维护任务时是很有用,比如周期性地备份、日志循环、检查文件系统、监测磁盘空间等等 从命令行中添加cron任务 要添加cron任务,你可以使用称为crontab命令行工具。...默认使用nono编辑器。 每个cron任务格式如下。 1. 前5个元素定义了任务计划,最后一个元素是命令或者脚本完整路径。...•0 0 * * * /home/dan/bin/script.sh: 每天零点运行。 •0 9,18 * * * /home/dan/bin/script.sh: 在每天9AM6PM运行。...要查看存在计划任务,使用下面的命令: 1.$ crontab -l 从GUI添加计划任务 如果你在Linux桌面环境中,你可以使用crontab更加友好GUI前端来添加或者添加一个cron任务。

    1.8K10

    如何在 Linux 中运行一个 Shell 脚本

    在 Linux 中有两种运行 shell 脚本方法。你可以使用: bash script.sh 或者,你可以像这样执行 shell 脚本: ./script.sh 这可能很简单,但没太多解释。...你可以 使用 chmod 命令 来给予你自己脚本这种权限,像这样: chmod u+x script.sh 使你脚本是可执行之后,你只需输入文件名称及其绝对路径或相对路径。.../script.sh 方式运行一个脚本,它通常会在你正在运行 shell 中运行。 有问题吗?可能会有。...看看,大多数 shell 语法是大多数种类 shell 中通用,但是有一些语法可能会有所不同。 例如,在 bash zsh 中数组行为是不同。...如果你使用 zsh 特殊语法,你可以通过在脚本第一行添加 #! /bin/zsh 方式来标识其是 zsh 脚本。 在 #!  /bin/bash 之间空格是没有影响。你也可以使用 #!

    3.5K20

    shell for循环、循环变量值付给其他shell脚本

    第三种写法 seq 使用 for i in `seq 1 100` do echo $i done 将循环变量赋值到下一个脚本: 在运行shell脚本时候,有三种方式来调用外部脚本.../script.sh) 1、exec(exec /home/script.sh): 使用exec来调用脚本,被执行脚本会继承当前shell环境变量。...2、source(source /home/script.sh使用source或者“.”来调用外部脚本,不会产生新进程,继承当前shell环境变量,而且被调用脚本运行结束后,它拥有的环境变量和声明变量会被当前...shell保留,类似将调用脚本内容复制过来直接执行。...3、fork(/home/script.sh) 直接运行脚本,会以当前shell为父进程,产生新进程,并且继承主脚本环境变量和声明变量。执行完毕后,主脚本不会保留其环境变量和声明变量。 #!

    88040

    一条命令让你明白shell中read命令常用参数

    我们知道,在Shell中接收传入参数有两种方式。一种是通过脚本进行参数传递,另外一种是通过read来接收传入参数。...通过脚本来传递参数简单示例如下: # 通过脚本来传递,这里$0指脚本名,$1为第一个参数,$2为第二个参数 [root@host ~]# ..../script.sh 1 2 Total = 3 [root@host ~]# vim script.sh #!.../script.sh Enter Password: The password your input is: Test@1234\ [root@host ~]# vim script.sh #!...,加了之后作为普通字符处理 从上面一个例子,基本上囊括了上面的大部分常用功能,特别是-p,-n,-t,-s等参数,可以很好学习read这个命令 总结 以上就是这篇文章全部内容了,希望本文内容对大家学习或者工作具有一定参考学习价值

    69320

    如何优雅向chatgpt提问ansible相关问题

    小助手: 下面是一个示例Playbook,可以使用AnsibleOpenSSL来签发IP地址证书,并检查目标主机上是否安装了OpenSSL。...然后,我们使用openssl ---- 使用ansible,要求: 1、下发脚本 2、执行脚本并输出到以服务器ip命名文件中去 3、将文件拷贝到本地 为了实现你要求,你可以使用 Ansible 一些模块...mode: 0755 - name: 执行脚本并将输出存入以服务器IP命名文件中 shell: /remote/path/to/script.sh > /remote/path/.../local/path/to/your/script.sh 是你要下发脚本在本地路径,/remote/path/to/script.sh 是这个脚本在目标服务器上路径。...然后使用 shell 模块执行这个脚本并将输出存入一个文件中,文件以服务器 IP ()命名。最后,fetch 模块会将这个文件复制回本地。

    33710

    Shell脚本攻略01-简介终端打印

    运行脚本两种方式 将脚本作为bash命令行参数 将脚本作为命令行参数时运行方式如下(#号后面的文本是注释,不必输入到命令行中): $ bash script.sh #假设脚本位于当前目录下 或者...$ bash /home/path/script.sh #使用script.sh完整路径 如果将脚本作为bash命令行参数来运行,那么就用不着脚本shebang了。...就像这样: $ chmod a+x script.sh 该命令赋予所有用户script.sh文件可执行权限。这个脚本能以下列方式执行: $ ./script.sh #..../表示当前目录 或者 $ /home/path/script.sh #使用脚本完整路径 内核会读取脚本首行并注意到shebang为#!/bin/bash。...它识别出/bin/bash并在内部像这样执行该脚本: $ /bin/bash script.sh ---- 当启动shell时,它一开始会执行一组命令来定义诸如提示文本、颜色等各类设置。

    2.5K20

    JAVA ExceptionIOException之间使用区别

    大家好,又见面了,我是你们朋友全栈君。 使用Exception可以保证捕获异常后能继续维持JVM运行 如果Exception换成IOException后,一旦出现IO异常,便会捕获停止运行....“IoException“(流异常,通常用在文件读取中)是”Exception”(用在所有的异常处理中)一个分支,也就是说“Exception”范围更大。...解释:通过java中在捕获异常时候需要先捕获“子异常”(范围小,如流异常),之后在进行捕获总异常定义“Exception”,如果在此过程中先捕获“Exception”,那么“IoException”...将永远执行不到,所以捕获异常优先级就是先捕获“IoException”,如果此异常不存在,在捕获“Exception” 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    70020

    Linux 命令(230)—— set 命令(builtin)

    文章目录 1.功能简介 2.命令格式 3.选项说明 4.常用示例 5.选项名 参考文献 1.功能简介 set 命令主要用于查看修改 Shell 环境运行参数,可以定制 Shell 脚本运行环境。...使用 set 更改 Shell 运行环境时,符号"+“”-"作用分别是打开关闭指定模式。 注意,如果命令行下不带任何参数,直接运行set,会显示所有的环境变量 Shell 函数。...-P 启动 -P 参数后,执行指令时,会以实际文件或目录来取代符号连接。 -t 执行完随后指令,即退出 Shell。 -u 当执行时使用到未定义过变量,则显示错误信息。...bash script.sh bash: script.sh:行4: a: 未绑定变量 可以看到,脚本报错了,并且不再执行后面的语句。 -u 还有另一种写法 -o nounset,两者是等价。...bash script.sh + echo bar bar 可以看到,执行echo bar之前,该命令会先打印出来,行首以+表示。这对于调试复杂脚本是很有用

    4.4K20
    领券