深入理解Linux Bash命令:source 0的作用解析 (linux bash source 0)
1. Bash命令简介
Bash是一种Unix shell,它是一种命令行语言,可用于控制计算机操作系统的交互式界面。Bash是Linux操作系统上的默认shell。Bash可以访问大量的Linux命令,在Linux系统上执行各种类型的任务。
2. Shell执行脚本的方式
Shell脚本是一种文本文件,其中包含了一系列的Bash命令。在运行Shell脚本时,可以使用两种方式:一种是在终端执行脚本,另一种是让Shell在后台执行脚本。无论哪种方式,Shell都必须获取脚本文件的执行权限,以便可以读取其中的命令。
3. source和.命令的差异
source是一个Bash命令,用于在当前Shell环境中执行其参数所指定的命令文件。它的作用是将命令文件中的命令读取到当前的Shell中执行。这个命令在Bash中也是一个内置命令,所以在一些小型的系统中可能没有该命令的可执行文件。与之相似的是.命令,也是用来执行文件的,只不过它不是一个Bash命令。source是Bash的扩展命令,而.命令是POSIX标准的一部分。
4. source 0的作用
source 0表示读取当前Shell的环境变量,然后将这些变量再次传递给当前的Shell,起到重新加载环境变量的作用。这种方法可以通过修改环境变量、在运行新命令之前刷新环境变量来使命令正常运行。通常情况下,source 0常用于重载环境变量,以更新当前Shell的状态。
5. 示例
下面是一个关于source 0命令的示例:
“`
#!/bin/bash
VAR1=”Hello,world”
source ./test.sh #test.sh文件包含一些设置环境变量的命令
echo $VAR1
“`
在这个示例脚本中,我们在Shell的脚本中定义了一个名为VAR1的环境变量。接下来,我们使用source命令来加载test.sh文件,并设置一些环境变量。加载完毕后,我们可以使用echo命令输出VAR1的值。由于source 0会重新加载环境变量,所以加载test.sh文件后,VAR1变量的值会被修改。输出的值将会是test.sh文件中设置的新值,而不是脚本中定义的初始值。
6.
在Linux中,source 0是一个非常有用的命令。它可以用于将其他文件的环境变量加载到当前Shell中,或重新加载当前Shell的环境变量。这个命令通常用于重新加载环境变量、刷新Shell状态、生效新环境变量等。要想理解source 0的全部作用,需要详细了解Linux的Shell命令和Linux的环境变量。
相关问题拓展阅读:
- Linux系统入门-Bash
Linux系统入门-Bash
Shell 是一种命令行解释器, 其读取用户输入的字符串命令, 解释并且执行命令;它是一种特殊的应用程序, 介于系统调用/库与应用程序之间, 其提供了运行其他程序的的接口;它可以是交互式的, 即读取用户输入的字薯袜符串;也可以是非交互式的, 即读取脚本文件并解释执行, 直至文件结束. 无论是在类 UNIX, Linux 系统, 还是 Windows, 有很多不同种类的 Shell: 如类 UNIX, Linux 系统上的 Bash, Zsh 等; Windows 系统数宽激上的 cmd, PowerShell 等.
Bash 是 Bourne Again SHell 的缩写, 是 GNU 计划中的 Shell, 也是一些类 UNIX 系统与多数 Linux 发行版的默认 Shell
使用Shell可以实现对Linux系统实现绝大部分的管理,例如:
#获取当前时间
# date
Mon Mar 15 22:59:47 CST 2023
#创建文件
# touch xcz
# ll
-rw-r–r–. 1 root root 0 Mar 15 23:01 xcz
#创建一百个文件,我们一般就会使用shell script进行创建
# cat touch.sh
#!/bin/bash
for n in `seq 100`;do
touch xcz$n &&
echo “文件xcz$n创建成功哦!”
done
# sh touch.sh
命令行输入方式:效率较低,适用于工作量不大的工作;
shell script 脚本方式:效率高,适用于工作量大且复杂的工作。
# bash –version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
‘#39; = 普通用户
‘#’ = root用户(超级巧李管理员)
#查看当前用户
# whoami
root
#查看当前命令提示符
# echo $PS1
$
root:当前系统的用户
CentOS7:当前系统的主机名
~:当前所在的位置
#:超级管理员身份(root用户)
$:普通用户
提示符参数及含义
d :代表日期;
H :完整的主机名称
h :仅取主机名中的之一个名字
:显示时间为24小时格式,如:HH:MM:SS
T :显示时间为12小时格式
A :显示时间为24小时格式:HH:MM
u :当前用户的账号名称
v :BASH的版本信息
w :完整的工作目录名称
W :利用basename取得工作目录名称,只显示最后一个目录名
# :下达的第几个命令
$ :提示字符,如果是root用户,提示符为 “#” ,普通用户则为 “#34;
#颜色
黑色
红色
绿色
黄色
蓝色
紫红色
青蓝色
白色
PS1=’ $ ‘
PS1=”u@h w>$ “
PS1=”u@h w>$ “
#提示符的应用
# vi .bashrc
#最后一行下面添加
PS1=”u@h w>$ “
#使用source生效
# source .bashrc
#命令 选项 参数
command
# ls -l /opt/
#命令:整条shell命令的主体
#选项:用于调节命令的具体功能
#以’-‘引导段个事选项(单个字符),例如”-l“
#以’–‘引导长格式选项(多个字符),例如”–list“
#多个短格式选项可以卸载一起,只用一个”-“引导,例如”-la“
#参数:命令操作与偶的对象,如文件、目录名等
#命令必须开头,选项和参数位置可以发生变化
我们在使用Linux系统进行查找一个多层级的文件时,我们可以使用键盘上的Tab键进行快速补全
补全的形式有:
#如果我们忘记网络配置文件具体路径,那么我们就可以使用补全的形式进行配置
# vi /etc/sysconfig/
anaconda cpupower grub irqbalance modules/ rdisc selinux
authconfig crond init kdump netconsole readonly-root sshd
cbq/ ebtables-config ip6tables-config kernel network rsyslog wpa_supplicant
console/ firewalld iptables-config man-db network-scripts/ run-parts
# vi /etc/sysconfig/network
network network-scripts/
# vi /etc/sysconfig/network-scripts/if
ifcfg-ens33 ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team
ifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort
ifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel
ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plu ifup-sit ifup-wireless
# vi /etc/sysconfig/network-scripts/ifcfg-
ifcfg-ens33 ifcfg-lo
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
#如果你的Linux系统无法进行补全,那么咱们可以安装一个扩展包即可
# yum install -y bash-completion
clear #或者用快捷键 ctrl + l
ctrl+c #有些程序也可以用q键退出
ctrl+z # 进程会挂起到后台
bg jobid # 让进程在后台继续执行
fg jobid # 让进程回到前台
Ctrl键+a #将当前光标移动到命令行的行首
Ctrl键+e #将当前光标移动到命令行的行尾
Ctrl键+u #将当前光标之前的所有字符剪切
Ctrl键+k #将当前光标之后的所有字符剪切
Ctrl键+w #将当前光标之前的字符剪切,以空格为结尾
Ctrl键+d #退出当前会话窗口
Ctrl键+z #将当前前台运行的程序,放到后台运行
Ctrl键+r #搜索 历史 命令
Ctrl键+y #粘贴剪切板上的内容
Ctrl键+左右方向键 #向指定的方向键移动一组字符,以空格为分隔符
ESC键+. #使用上一条命令的最后的参数或者路径,以空格为分隔符,空格之后的内容,delete键 从前往后删除一个字符
!命令 #执行最近的一次以该命令为开头的命令
!! #执行上一条命令
#使用格式:
+ 或者 + 即可
#例如touch命令帮助
# touch –help
Usage: touch … FILE…
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h
is supplied.
A FILE argument string of – is handled specially and causes touch to
change the times of the file associated with standard output.
Mandatory arguments to long options are mandatory for short options too.
-a change only the access time
-c, –no-create do not create any files
-d, –date=STRING parse STRING and use it instead of current time
-f (ignored)
-h, –no-dereference affect each symbolic link instead of any referenced
file (useful only on systems that can change the
timestamps of a symlink)
-m change only the modification time
-r, –reference=FILE use this file’s times instead of current time
-t STAMP use YY>MMDDhhmm instead of current time
–time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
–help display this help and exit
–version output version information and exit
Note that the -d and -t options accept different time-date formats.
GNU coreutils online help:
linux bash source 0的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux bash source 0,深入理解Linux Bash命令:source 0的作用解析,Linux系统入门-Bash的信息别忘了在本站进行查找喔。
编辑:一起学习网
标签:命令,环境变量,文件,脚本,系统