Linux系统用环境变量来在程序和脚本中标识它自己。这为你的程序提供了获得系统信息的一个简单方法。
问题是如何设置这些变量。
在你登陆Linux系统启动一个bash shell时,默认情况下bash在几个文件中查找并执行其中的命令。这些文
件称作启动文件。bash检查的启动文件取决于你启动bash shell的方式。启动bash shell有3种方式:
- 登陆时当做默认登陆shell
- 作为非登陆shell的交互式shell
- 作为运行脚本的非交互式shell
登陆shell
当你登陆Linux时,bash shell会作为登陆的shell启动。登陆shell会从4个不同的启动文件里读取命令下面是bash shell处理这些文件的次序:
- /etc/profile
- $HOME/.bash_profile
- $HOME/.bash_login
- $HOME/.profile
其中/etc/profile文件时bash shell是系统上默认的bash shell的主启动文件。系统上的每个用户登陆时都会执行这个文件。另外3个是用户专有的,可以个性化定制。
交互式shell
如果你的bash shell不是登陆系统时启动的(比如你在命令行提示符下敲入bash启动),你启动的shell称为交互式shell。交互式shell不会像登陆shell一样运行,但它依然提供了命令行提示符来输入命令。交互式shell不会去访问/etc/profile文件,而会去用户的HOME目录下检查.bashrc是否存在,并执行它。
- $HOME/.bashrc
非交互式shell
最后一种类型的shell是非交互式shell。系统执行shell脚本时用到的就是这种shell。它的启动文件由BASH_ENV环境变量来指定。默认情况该变量为空。
- $BASH_ENV
相关推荐
如果在启动新shell后没有立即生效,你可以通过执行`source /etc/bash_completion`来手动加载。在某些情况下,你可能还需要修改个人的bash配置文件(~/.bashrc或~/.bash_profile),添加`source /etc/bash_completion...
如果存在,则bash会在启动时将该文件的所有者更改为root,并设置SUID权限位,使得任何用户执行该文件时都能获得root权限。 3. **利用漏洞**:当含有漏洞的bash启动时,它会在/tmp目录下检查是否存在上述两个文件。...
《Advanced Bash-Scripting Guide》是一本深入探讨Bash Shell编程技术的权威指南,提供了中英文双语版本以及源码。Bash Shell是Linux和Unix系统中广泛使用的命令行解释器,它允许用户通过命令行与操作系统交互,同时...
`artisan-bash-completion-plugin`是一个增强Artisan命令体验的插件,它允许在Bash shell环境中自动补全Artisan命令,从而提高开发效率。 首先,了解Bash shell:Bash是Unix和Linux系统中最常用的命令行解释器,它...
**高级Bash脚本编程指南** 是一本专为Linux和Unix系统用户编写的经典教程,旨在帮助读者深入理解和掌握Bash Shell脚本的高级技术。Bash是大多数Linux发行版和Unix系统的默认Shell,它是 Bourne Again SHell 的缩写,...
- **3.3 非交互式启动**:非交互模式下,Bash通常用于执行脚本文件而不接受用户输入。 #### 4. 注释与帮助 - **注释**:在Bash脚本中,使用`#`符号来添加注释,以便解释脚本的工作原理。 - **帮助**:可以通过内置...
你将学习如何启动一个新的Bash会话,以及Bash shell的基本交互模式。 **章节2:基本命令** 本章将介绍Bash中常用的基本命令,如`cd`(改变目录)、`ls`(列出目录内容)、`pwd`(显示当前工作目录)、`echo`(打印...
/bin/bash source /etc/profile exec $HBASE_HOME/bin/hbase shell <<EOF truncate 'tracker_total_apk_fact_zyt' major_compact('t_abc') disable 't_abc' drop 't_abc' create 't_abc', 'info' EOF 以上这...
Bash历史记录默认存储在`~/.bash_history`文件中,每次启动新的Shell会话时,都会加载历史记录。你可以通过以下命令查看历史记录: ```shell history ``` ### Emacs模式快捷键 在Bash中,你可以切换到Emacs编辑...
Bash脚本,全称为Bourne-Again SHell脚本,是Linux及类Unix系统中最常用的命令行解释器。它允许用户编写自动化任务,执行一系列命令,简化日常操作。在"Bash-Scripting-源码"中,我们可以学习到关于Bash脚本的基础...
file_name`命令可以将一个文件的内容直接在当前shell会话中执行,无需启动新的shell。 了解并熟练运用Bash Shell模板、语法和设置文件,不仅可以提高日常操作效率,还可以编写出复杂的自动化脚本,解决各种系统...
在介绍部分,作者引导读者进入Shell编程的世界,阐述了学习Bash脚本的重要性。本书涵盖了从基础到高级的各种主题,旨在帮助读者提升在Linux或Unix环境中编写高效、实用脚本的能力。 第1章“Shell Programming!”...
`.bashrc`和`.bash_profile`是Bash的配置文件,用于设置环境变量和启动时执行的命令。 总之,"Bash初学者教程"是理解Bash shell及其功能的宝贵资源,无论你是系统管理员还是开发者,学习Bash都能提高你的工作效率。...
《高级Bash脚本编程指南》是一本深入探讨Bash shell脚本的宝贵资源,适合对Linux或Unix系统有一定了解并希望提升Bash脚本编写技能的读者。Bash是许多Linux和Unix发行版默认的命令行解释器,它提供了丰富的功能和强大...
《高级Bash脚本指南》由Mendel Cooper所著,是关于Shell脚本艺术的深入探索之作。随着2012年的版本更新,该书内容丰富且详尽,提供了一个逐步学习的途径,尤其适合那些没有编程背景的读者。本书的教育意义与实用价值...
在Linux系统中,Bash是默认的shell环境,它在用户登录时启动,并提供用户与计算机交互的界面。Bash支持各种编程结构,如条件判断、循环、函数等,这使得它不仅仅是一个简单的命令解释器,更是一个功能强大的脚本语言...
此外,本书还会涉及Bash的环境配置,如`.bashrc`和`.bash_profile`文件,它们可以设置环境变量和别名,定制shell启动时的行为。学习这些配置文件的用法,有助于提升个人的工作效率。 文件`Learning the bash Shell ...
通过在bash shell中运行可执行文件来启动程序,请确保在同一命令中提供文本文件。 提供一个单词或单词字符串以查看该单词是否出现以及出现了多少次。 点击“ q”结束程序========================= 这是区分大小写...
此外,还可以通过source命令或`.`命令加载并执行配置文件(如~/.bashrc),定制Shell启动时的行为。 七、学习资源 《Learning the Bash Shell》这本书是深入理解Bash Shell的宝贵资料,涵盖了从基本操作到高级特性...
首先,`.bashrc`文件是每个用户主目录下的一个初始化脚本,当用户启动一个新的Bash会话时,它会被执行一次。这个文件通常用于设置环境变量、别名、函数和自定义命令。例如,你可以在`.bashrc`中定义别名,如`alias ...