首页 > 系统相关 >linux中的source命令和bash命令各有什么作用

linux中的source命令和bash命令各有什么作用

时间:2024-10-07 11:22:07浏览次数:6  
标签:脚本 shell source 命令 linux 环境变量 bash

在Linux中,`source`命令和`bash`命令都是用来执行shell脚本或者设置环境变量的,它们在Shell编程和日常的系统管理任务中经常被用到。下面我简要解释一下这两个命令的作用:

1. `source` 命令:
使用`source`命令可以读取并执行一个shell脚本文件中的命令,就好像脚本中的命令是直接在当前shell会话中键入的一样。这意味着脚本中的任何环境变量设置或函数定义都会影响到当前的shell会话。`source`通常用于加载配置文件,比如`.bashrc`或`.profile`,这些文件包含了用户的环境设置。

语法:`source filename` 或 `. filename`(注意`.`也是`source`的一个别名)

2. `bash` 命令:
`bash`是一个Unix shell程序,它是GNU项目的一部分,是Bourne Shell的一个兼容版本,并且增加了很多额外的功能。当您直接在命令行输入`bash`后跟脚本文件名时,它会在一个新的子shell中执行该脚本。这意味着脚本中对环境变量或函数的更改不会影响到父shell,也就是您正在使用的shell。

语法:`bash filename`

总结来说,主要区别在于使用`bash`命令运行脚本是在一个新的shell实例中执行,而`source`则是在当前shell环境中执行脚本。因此,如果你希望改变当前shell会话的环境变量或函数定义,你应该使用`source`;如果你只是想执行一系列命令而不影响当前环境,那么应该使用`bash`。

标签:脚本,shell,source,命令,linux,环境变量,bash
From: https://www.cnblogs.com/peifx/p/18449850

相关文章

  • Rockchip RK3588 - Rockchip Linux Recovery recovery源码分析
    ----------------------------------------------------------------------------------------------------------------------------开发板:ArmSoM-Sige7开发板eMMC:64GBLPDDR4:8GB显示屏:15.6英寸HDMI接口显示屏u-boot:2017.09linux:5.10-------------------------------......
  • jvm相关命令
    jpsjps打印当前java进程jinfojinfo进程id,获取当前java进程的jvm参数jinfo-flagPrintGC进程id查看当前java进程是否开启打印GC的选项jinfo-flags进程id查看当前java进程的所有jvm配置参数jinfo-flag+PrintGC进程id为当前java进程开启打印gc日志 jmapjmap-......
  • Redis终极入门指南:万字解析帮你从零基础到掌握命令与五大数据结构
    目录命令学习:一、Redis基础操作二、Redis常用命令三、五种数据结构及其常用命令3.1String(字符串)3.2List(列表)3.3Set(集合)3.4Hash(哈希)3.5Zset(有序集合) 前言:  Redis是一款开源内存数据库,以高性能和多样数据结构广泛应用于缓存和消息队列等场景。本文为新......
  • 玄机蓝队靶场_应急响应_48:第五章 linux实战-挖矿(未作出)
    参考:https://blog.csdn.net/administratorlws/article/details/139995863有机会会再做一次。一些想法:黑客利用web服务入侵成功站点后,一般除了留下web木马外,还会留有系统后门和病毒比如可能的挖矿病毒。检查web渗透入口的木马,三个方式,第一个是直接从日志里面硬找,从上传的文件......
  • 【GT240X】【06】Linux文本编辑软件vim
    目录一、说明二、什么是vim?三、vi/vim的使用3.1命令模式3.2输入模式3.3底线命令模式四、vi/vim按键说明4.1 一般模式可用的光标移动、复制粘贴、搜索替换等4.2 一般模式切换到编辑模式的可用的按钮说明4.3一般模式切换到指令行模式的可用的按钮说明一......
  • 【linux安全】禁用 ASLR
    地址空间布局随机化(ASLR)是在大多数现代操作系统中实施的一种安全措施。它会改变程序使用的内存地址,包括堆栈、堆和库,使攻击者更难利用漏洞。在Linux中,可以使用/proc/sys/kernel/randomize_va_space文件配置ASLR。地址空间布局随机化(ASLR)安全功能,使攻击者更难预测特定函......
  • 正则表达式和通配符及相关linux命令实操
    正则表达式和通配符含义是完全不同的 正则表达式基本组成: 单引号与双引号在命令中使用单引号,不转义引号内容,原样输出;使用双引号,转义引号内容*并非适用于所有命令 逻辑测试语句&&||!a&&ba执行成功才执行ba||ba执行失败才执行b!aa执行结果取反 》......
  • linux 中安装docker
    查看系统版本和内核版本docker依赖包的安装点击查看代码yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#docker依赖包的安装yum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#设置阿里云docke......
  • 全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker都能确保......
  • 全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker都能确......