点在中间的符号怎么打(电脑里面中间的·怎么打)

巴山号小编 117 0
欧易 OKX 交易所

注册送6万元盲盒奖励,100%中奖

点击欧易注册,还可获得永久20%手续费返佣

邀请好友 注册并登录 ,获取价值高达 60000 元的数字货币盲盒,100%中奖!

摘要:Shell就是一个命令行解释器,其作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。前几天写过一个清除备份文件的脚本delbackup.sh,直接执行# sh delbackup.sh是正常运行的,但是放到crontab中却无法运行。经过检查,发现是环境变量的问题。解决问题的办法是在sh脚本程序中加入环境变量。

本文主要介绍环境变量的引入方法。详细内容请参考下文。

一、查看环境变量

1、登陆linux系统

点在中间的符号怎么打(电脑里面中间的·怎么打)-第1张图片-巴山号

2、查看环境变量"~/.bash_profile"文件里面的内容

点在中间的符号怎么打(电脑里面中间的·怎么打)-第2张图片-巴山号

备注:可以看到~/.bash_profile文件先调用~/.bashrc,然后再把PATH加载。

二、Shell脚本优化

1、执行指令# printenv查看当前shell进程的环境变量

说明:Shell变量可以分为环境变量和本地变量。一个shell变量定义后仅存在于当前Shell进程,是一个本地变量。用export命令可以把本地变量导出为环境变量。

点在中间的符号怎么打(电脑里面中间的·怎么打)-第3张图片-巴山号

2、通过点指令引入环境变量

点在中间的符号怎么打(电脑里面中间的·怎么打)-第4张图片-巴山号

备注:在编写标本的时候,加入两个环境变量/etc/profile和~/.bash_profile。

3、点指令和source命令

(1)、shell脚本执行方法

说明:Shell有两种执行脚本的方法,一种是新产生一个shell,然后执行相应的shell scripts;一种是在当前shell下执行,不再启用其他shell。

新产生一个shell然后再执行scripts的方法是在scripts文件开头加入语句:#!/bin/sh。一般的script文件(.sh)即是这种用法。这种方法先启用新的sub-shell(新的子进程),然后在其下执行命令。

另外一种方法就是使用source命令,不再产生新的shell,而在当前shell下执行一切命令。source: source命令即点(.)命令。在 bash下输入man source,找到source命令解释处,可以看到解释"Read and execute commands from filename in the current shell environment and ..."。从中可以知道,source命令是在当前进程中执行参数文件中的各个命令,而不是另起子进程。

点在中间的符号怎么打(电脑里面中间的·怎么打)-第5张图片-巴山号

(2)点指令和source命令详解

source命令用法 #source FileName

表示在当前bash环境下读取并执行FileName中的命令。

备注:source命令通常用指令“.”来替代。

使用范例:

source filename

# 中间有空格

. filename

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。

source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 这些配置文件。假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,这时就可以用 source 命令重新执行 .bash_profile文件,使修改立即生效而不用注销并重新登录。

(3)、点指令和source命令使用实例

实例:$source ~/.bashrc 或者

$. ~/.bashrc

这两个指令都表示,指令执行后 ~/.bashrc 中的内容立即生效。

点在中间的符号怎么打(电脑里面中间的·怎么打)-第6张图片-巴山号

备注:source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。同样的,当前脚本中设置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文件,如 .bash_profile 和 .profile 等等。例如,如果在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。

(4)、source filename 与 sh filename 及./filename执行脚本的区别

当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。

sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

标签: shel lba

抱歉,评论功能暂时关闭!