Shell脚本编程——变量
作者:zccst
变量分为三种:
1, 普通变量
即本地变量。variable是变量名,$variable和${variable}都表示其值。
可以使用echo显示,使用unset清除。
测试变量是否已经赋值
${variable:-value} 如果变量已经赋值,则使用该变量值。如果变量为空,则使用value。需要注意的是,value并不赋给variable。
${variable:=value} 该表达式上面的区别就是,如果variable为空,则value赋给variable。
如果需要检验变量是否为空,如果为空的话则显示带有系统错误信息,则使用下面的表达式:${variable:?}
如果需要显示自己定义的信息,则如下:${variable:?"customed message "}
设置只读变量
使用readonly可以将变量定义成只读。即readonly variable
单独执行readonly可以显示所有的只读变量。
2, 环境变量
(1) 环境变量设置
ENVIRON-VARIABLE = value # 环境变量赋值
EXPORT ENVIRON-VARIABLE # 环境变量声明
env # 查看环境变量
unset ENVIRON-VARIABLE # 清除环境变量
(2) 重要的环境变量
PATH、HOME、SHELL、PWD/OLDPWD、USER/UID、PPID、PS1/PS2、IFS等
(3) 几个环境变量配置文件
系统级别,系统全局环境变量设定:
/etc/profile
/etc/bashrc
普通用户级别,用户家目录下的私有环境变量设定:
~/.bash_profile
~/.bashrc
要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。
这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。 shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
profile与bashrc都用于保存用户的环境信息,profile用于login shell,而bashrc用于non-loginshell。
具体使用情况分别如下:
/etc/profile:此文件为系统的每个用户设置环境信息,当第一个用户登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。
/etc/bashrc:为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。有些linux版本中的/etc目录已经没有了bashrc文件。
~/.bash_profile 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,它设置一些环境变量,然后执行用户的.bashrc文件。
~/.bashrc:该文件包含专用于某个用户的bash shell的bash信息,当该用户登录时以及每次打开新的shell时,该文件被读取。
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。
3, 位置变量
即向脚本传递参数时,可以使用此变量获取参数。
(1) 一般位置变量
$0 表示脚本本身
$1 --> $100 $* / $@是全部参数
(2) 特殊位置变量
$? 什么执行状态。0表示正确,非0表示错误。
$* / $@ 以一个单字符串显示所有向脚本传递的参数位置参数
$# 位置参数个数
$$ 脚本运行的进程号
分享到:
相关推荐
内容概要:shell脚本入门——变量、字符串, 本文详细介绍了 Shell 脚本中变量和字符串的基本操作,包括变量的定义、使用和作用域,以及字符串的定义、操作和拼接。通过具体的代码示例,解释了如何定义和使用变量,...
本书《Shell脚本编程诀窍——适用于Linux、Bash等》由Steve Parker撰写,旨在帮助读者深入理解和掌握Shell脚本的编写技巧。 Shell脚本的基础是Bash(Bourne-Again SHell),它是大多数Linux发行版的默认Shell。Bash...
本课设计的主要目的是让学生掌握 Linux 操作系统中 shell 脚本编程技术的各种知识点,包括变量定义、变量使用、循环控制结构、条件选择结构、用户交互、文件读写、文本内容分析以及 Linux 重要命令的使用等。...
在Linux系统中,Shell是一种命令解释器,同时也是脚本编程语言,它允许用户通过命令行接口执行各种系统操作。在“shell程序设计”这个主题中,我们主要关注的是如何利用Shell编写程序,其中变量是核心概念之一。在...
该课程设计旨在掌握 Linux 操作系统中 shell 脚本编程技术的变量定义、变量使用、循环控制结构、条件选择结构、用户交互、文件读写、文本内容分析以及 Linux 重要命令的使用等,以验证学生对于 shell 脚本编程的掌握...
最后,书中可能包含了一些实用的Shell脚本实例,帮助读者将所学应用到实际问题中。通过这些例子,读者可以学会如何编写脚本来自动备份文件、监控系统状态或者自动化日常维护任务。 总的来说,"Linux与UNIX SHELL...
在本Linux+Shell编程课程设计中,我们将深入探讨如何利用Shell脚本来实现Linux系统的用户管理。Shell编程是Linux系统中的重要一环,它提供了一种简单而强大的方式来自动化日常的系统任务,包括用户账户的创建、修改...
此外,还将教授如何配置Shell环境,例如编写和执行Shell脚本,以及理解Shell变量和环境变量。 第二部分:Shell语法与控制结构 这一部分深入探讨了Shell脚本的语法,包括命令行参数、变量赋值、条件语句(if-else)...
综上所述,Linux shell脚本编程不仅是一门技术,也是一种艺术,它要求开发者具备清晰的逻辑思维和对细节的敏锐洞察力。通过本指南的学习,你将逐步掌握shell脚本的基础知识,为进一步探索Linux系统的深度应用打下...
Shell编程,即编写Shell脚本,是一种强大的工具,可以自动化日常重复任务,提高工作效率。通过学习Shell编程,你可以创建自定义的命令行工具,实现文件处理、系统管理、网络操作等各种功能。例如,可以编写一个脚...
在shell脚本中合理使用变量,不仅可以定制用户的个人工作环境,还可以保存和传递有用信息,提高工作效率。在Linux中,shell变量主要分为两大类:本地变量和环境变量。除此之外,还存在另外两种特殊变量,它们是只读...
文件和目录操作是Shell脚本中常见的任务。学会使用`cd`改变目录,`ls`列出文件,`cp`和`mv`进行复制和移动,以及`rm`删除文件或目录,这些都是基本功。另外,`cat`、`more`或`less`用于查看文件内容,`grep`则用于在...
每个PDF文件可能对应上述一个或多个主题的详细讲解,通过深入学习和实践,你将能够编写出高效、灵活的Shell脚本,提升Linux和Unix系统的管理效率。记得结合实际操作来巩固理论知识,以达到最佳学习效果。
根据提供的标题“深入浅出linux工具与编程——Shell编程”以及描述“深入浅出linux工具与编程”,可以总结和扩展出以下与Linux Shell编程相关的知识点: ### 一、Shell编程概述 Shell是用户与操作系统之间的交互...
Shell编程是Linux操作系统中进行系统管理和自动化...这只是Shell编程的一小部分,实际上还涉及到流程控制、函数、输入/输出重定向、脚本编写等诸多内容。熟练掌握Shell编程能够极大地提高Linux系统的管理和维护效率。
在Shell脚本编程中,变量是存储数据的基本单元,它允许我们存储文本、数字或任何其他类型的信息。本文将深入探讨Shell脚本中的变量及其相关的使用规则和技巧。 首先,让我们了解一下变量的定义。在Shell中,变量名...
2. **Shell脚本**:在Unix/Linux系统中,如.sh文件,用于执行系统管理任务,如系统监控、备份、服务启停等。 3. **Python脚本**:一种强大的编程语言,广泛用于数据分析、网络爬虫、自动化测试等领域。 4. **...
《Shell脚本专家指南》是一本专为提升Unix和Linux环境下Shell脚本编程能力而编写的书籍,由Ron Peters撰写,结合了他丰富的实践经验。这本书深入浅出地讲解了Shell脚本的基础与高级技巧,旨在帮助读者提升工作效率,...
Shell脚本是包含一系列命令的文本文件,可以被Shell执行。在脚本中,可以使用控制结构(如if-else,for循环)和函数,实现自动化任务。执行脚本时,会创建一个新的子Shell来运行脚本内的命令。 5. **进程 (Process...
4. **Shell脚本编程** Shell脚本是编写的一系列命令,可以执行自动化任务。基本结构包括声明Shebang(#!/bin/bash),变量定义,条件语句(if-else),循环结构(for, while),函数定义,以及命令的组合。 5. **...