`

shell学习(变量)

 
阅读更多
#!/bin/bash

# #开头的行注释
# shell脚本的第一行一般都是#!/bin/bash 表示由/bin/bash负责解释

# 定义变量
str="string value"
num=123
echo str is :\"$str\"
echo num\'s value is: $num

# 注意:
# 1、"="两边没有空格,任何空格会导致错误。
# 2、虽然在定义一个字时可以省略引号,但是当定义的变量值多于一个字时(包含空格或制表符),引号是必须的。
# 3、虽然通常可以使用双引号,但可能导致错误。使用单引号禁用了成为扩展的bash特性


# 参数变量(用单引号禁止来扩展)
# $0 表示执行的命令本身,如此脚本是 env.sh
# $1 表示第一个参数, $2表示第二个参数,如此类推;
# $@ 表示一次引用所有的变量,它扩展成所有用空格分隔开的命令行参数;
# $# 表示传递给脚本的变量数目;
echo '$0 is ' $0
echo '$1 is ' $1
echo '$2 is ' $2
echo '$3 is ' $3
echo '$# is ' $#
echo '$@ is ' $@

# 环境变量,使用export命令设置,使用unset取消
export editor=vim
unset editor


# 变量默认值
# ${parameter:-word} 如果parameter没有设置或者为空,则shell扩展word并替换结果。parameter的值并没有更改。

# ${parameter:=word} 如果parameter没有设置或者为空,则shell扩展word并将结果指派给parameter。这个值然后被替换。不能用这种方式指派位置参数或特殊参数的值。

# ${parameter:?word} 如果parameter没有设置或者为空,shell扩展word并将结果写入标准错误中。如果没有word则写入一条消息。如果shell不是交互的,则表示存在这个扩展。

# ${parameter:+word} 如果parameter没有设置或者为空,则不作替换

unset x
y="abc def"
echo "/${x:-'xyz'} /${y:-'xyz'} /$x /$y/"

unset x
y="abc def"
echo "/${x:='xyz'} /${y:-'xyz'} /$x /$y/"

 

分享到:
评论

相关推荐

    shell变量与创建子shell详解

    理解如何在脚本中执行程序以及如何导出Shell变量,可以更好地控制Shell脚本的行为,以及子Shell与父Shell之间变量的隔离与共享。这些知识不仅有助于编写更有效的Shell脚本,还能帮助在管理Linux系统时做出更明智的...

    linux运维学习笔记:Shell变量.pdf

    Linux Shell变量知识点: 1. 变量概念: 在Linux Shell编程中,变量是存储数据的基本单元。变量可以看作是一个容器,用于临时存储字符串、数字等数据类型,包括但不限于路径、命令结果等。变量通过赋值操作符“=”...

    深入_Shell_变量操作

    深入探讨Shell变量操作:变量替换扩展与字符串处理 在Linux Shell编程中,变量操作是构建高效、灵活脚本的关键技能之一。本文将深入探讨Shell变量的高级操作技巧,特别是变量替换扩展和字符串处理,旨在帮助读者...

    shell变量学习

    【Shell变量学习】 在Shell编程中,变量是存储数据的基本单元,它们可以帮助我们保存和处理各种信息。本文主要探讨了Shell变量的使用、赋值、显示、删除以及一些特殊的操作。 1. **本地变量** 本地变量仅在当前...

    认识与学习 BASH,Shell 的变量功能

    【标题】:“认识与学习 BASH,Shell 的变量功能” 【描述】:“影响 bash 环境操作的变量[root@www ~]# echo $variable[root@www ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/...

    LinuxShell脚本学习基础视频

    Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_shell脚本编程...

    shell学习,第一章

    Shell学习第一章主要涵盖了Shell脚本语言的基础知识,包括Shell的介绍、基本语法、变量和字符串操作等内容。以下是对这些知识点的详细阐述: 1. **Shell介绍**:Shell是一种命令行解释器,它允许用户与操作系统进行...

    Shell环形变量和Unix系统入门

    **Shell环形变量详解** Shell环形变量是Unix/Linux shell编程中的重要概念,它们是环境变量的一种特殊形式,用于在shell会话期间保存临时数据。环形变量与普通环境变量的区别在于,它们只存在于当前shell会话中,...

    Shell编程中文手册.pdf

    学习 Shell 编程可以让开发者更好地管理集群、提高开发效率。 Shell 解析器 Linux 提供的 Shell 解析器有 bash、sh、dash、tcsh、csh 等。Centos 的默认解析器是 bash。bash 和 sh 之间存在关系,sh 是 bash 的...

    linuxshell编写变量介绍交互式PPT教案学习.pptx

    linuxshell编写变量介绍交互式PPT教案学习.pptx

    shell脚本学习手册

    《Shell脚本学习手册》 Shell,是Linux系统中的一种命令语言和程序设计语言,它由C语言编写,作为用户与操作系统内核交互的桥梁。Shell不仅提供了命令行接口,还允许用户编写脚本程序,实现自动化任务处理。本文将...

    linux shell学习资料

    在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...

    实用的shell学习资料

    **实用的Shell学习资料概述** Shell是Linux和Unix操作系统中的一种命令解释器,它作为用户与操作系统之间交互的界面,允许用户输入命令并执行。在众多的Shell中,Bash(Bourne Again SHell)是最流行的一个,广泛...

    shell编程基础之变量

    在Linux系统中,Shell编程是一种强大的工具,它允许用户通过编写脚本来自动化一系列命令执行。在Shell脚本中,变量起着至关重要的作用,因为它们是...在实际应用中,不断实践和学习,你的Shell编程技能将会不断提升。

    shell基础学习资料

    以上内容总结了Shell基础学习资料中的关键知识点,包括Shell脚本的基础结构、注释、变量管理、环境变量的概念以及一系列常用的Unix命令和相关概念。这对于初学者来说是非常宝贵的资源,有助于快速掌握Shell脚本的...

    linux运维学习笔记:Shell变量的数值运算.pdf

    Linux运维学习中,Shell脚本的编写是基础技能之一。在Shell编程中,变量的数值运算是一项非常重要的功能。本文将详细介绍Shell变量的数值运算方法以及相关知识点。 首先,Shell变量进行数值运算时,常见的命令有:...

    SHELL基础学习指导

    在Shell学习中,首先需要了解的是一些基础概念。例如,当用户登录到Linux系统时,系统会根据/etc/passwd文件中的信息来决定使用哪个Shell。用户可以在命令提示符下输入命令,由Shell进行解释和执行。例如,输入命令...

    linux超级基础系列-shell变量(本地变量和环境变量)

    ### Linux超级基础系列——Shell变量(本地变量与环境变量) #### 一、Shell与Shell变量简介 在Linux操作系统中,Shell是一种用户与操作系统交互的...理解并掌握这些概念对于深入学习Linux Shell编程是非常重要的。

    shell学习(经过自己整理)

    shell学习(经过自己整理) shell编程简介: Shell编程是指使用shell脚本语言编写的程序,以实现自动化任务、批量处理、系统管理等功能。Shell编程语言是基于文本的命令行接口,用户可以通过编写脚本来实现特定的...

    LINUX开发基础 系统使用 全屏编辑器VI SHELL 常用变量

    这一节包含了Shell程序的编写和执行、Shell变量(包括参数变量和内部变量)、测试命令、条件语句、循环语句以及函数的使用。通过Shell编程,用户可以定制自己的工作环境,提高工作效率。 学习Linux开发基础,不仅...

Global site tag (gtag.js) - Google Analytics