首页 > 系统相关 >SHELL——环境变量

SHELL——环境变量

时间:2023-09-29 20:11:37浏览次数:36  
标签:脚本 shell 变量 局部变量 SHELL 变量名 全局变量 环境变量

1、系统变量

SHELL环境变量分类:

作用域分类为全局变量和局部变量、

系统变量和用户自定义变量。

打印系统全局变量命令:env、printenv

打印系统局部变量命令:set

在编辑器中查看系统全局变量命令:env | less

在编辑器中查看系统局部变量命令:set | less

(全局变量可以在子shell中查看、修改。)

(系统局部变量可以继承到子shell,但修改子shell中的局部变量不会改变父shell中的局部变量。)

2、用户自定义变量

定义变量方法命令:变量名=值

(等号两边没有空格)

(若值中有空格可以用单引号或者双引号把值括起来)

(默认定义的变量都是字符串类型)

如果在定义变量时候需要进行整形计算则使用$(())或者$[]

例如:变量名=$((3+5))、变量名=$[5+9]

变量升级为全局变量命令:export 变量名

(升级为全局变量后可以被子shell继承)

(子shell中的局部变量不会改变父shell中的局部变量)

撤销变量命令:unset 变量名

设置静态变量命令:readonly 变量名(静态变量不能unset)

3、特殊变量

处理脚本输入的变量

source 脚本名称 参数

脚本输入参数:$0、$1、$2

脚本中用$1表示第一个参数,$2表示第二个参数,$0表示脚本名称。

脚本输入参数个数:$#

所有参数的整体:$*

使用for循环遍历每一个参数:$@

最后一次执行命令的返回状态:$?(正常执行返回0,执行错误返回其他值)

 

3、执行脚本的区别

创建子shell并且在子shell中执行.sh脚本命令:./***.sh、bash ***.sh

在当前shell中执行脚本:. ***.sh、source ***.sh

 

标签:脚本,shell,变量,局部变量,SHELL,变量名,全局变量,环境变量
From: https://www.cnblogs.com/GREEN-FIEID/p/17736914.html

相关文章

  • 【代码片段】makefile 中通过 shell 函数执行 sed
    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!cnblogs博客zhihuGithub公众号:一本正经的瞎扯先上代码:(在macos上调试通过)#defineashellfunctiontosetdebugmodetoreleasemode#whenosismacbook,usegsedasseddefinefunction_sed_set_rel......
  • Shell Issues
    ShellIssuesDebris双引号包裹下引用变量,其中的换行符号(不是转义)会被解析,否则会被直接忽视(不会被替换为\n),例如:$pre="ILoveYou"echo$pre #输出一行内容echo"$pre" #输出多行内容引用变量时,若其中存储的是字符串且对字符串的转义有严格要求,则形如"$var"的变......
  • linux下shell脚本实现wordpress搭建
    wordpress_auto_install.sh  #!/bin/bashuser=$(whoami)functionwordpress_auto_install(){if[$user=="root"];thenecho"前提:调整系统配置,如关闭selinux、firewall等!"sed-i's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/......
  • Shell Scripts
    ShellScriptsShell编程笔记基本语法模块指定脚本解析器#!/bin/bash#!/bin/shbash是最常用的解析器,sh等其他shell解析器与bash有语法上的区别变量变量名:字母、数字、下划线,数字不可开头变量赋值:user="festu"user=festu"festu" #festufestuuser=festu#......
  • 玩转Redhat Linux 8.0系列 | 使用BASH SHELL执行命令
    今天继续分享一些RedhatLinux8.0的知识,记得关注,会一直更新~基本命令语法GNUBourne-AgainShell(bash)这一程序可以解读用户键入的命令。当您准备好执行命令时,请按Enter键。在单独的行上键入每个命令。系统会显示命令输出,然后显示下一shell提示符。[user@host]$whoamiuser[u......
  • [Linux] shell文本处理记录 - 查找、增删特定行及附近行
    转:https://blog.csdn.net/wy_hhxx/article/details/127416595查找username所在行并删除此行,输出到新文件sed'/username/,+d'04filename.log>04filename_new.log 目录1.grep查找关键字所在行号、查找关键字前后行2.sed删除指定行及其前后若干行3.sed在匹配行前或后添......
  • Powershell 获取AD Certificate 详细信息
    get-aduser-SearchBase$ou-Filter*-Propertiesdisplayname,usercertificate|ForEach-Object{$displayname=$_.displayname$_|select-ExpandPropertyusercertificate|ForEach-Object{$cert=[System.Security.Cryptography.X509Certifi......
  • shell遍历比较文件夹下文件md5值
    #!/bin/bashCURRENT_DIR=$(cd$(dirname$0);pwd)SOURCE_DIR="$CURRENT_DIR/python_data"TARGET_DIR="$CURRENT_DIR/out_bin"cd$SOURCE_DIR>python.md5forfilein$(ls$SOURCE_DIR|grep"data")dosource_file=${SOURCE_......
  • 掌握Shell用户管理,让你的系统运行更顺畅!
    用户帐号帐号操作主要是增、删、改、禁。Linux系统提供了底层的 useradd, userdel 和 usermod 来完成相关操作,也提供了进一步的简化封装:adduser, deluser。为了避免混淆,咱们这里只介绍最底层的指令,这些指令设计上已经够简洁明了方便。由于只有系统管理员才能创建新用户,请确......
  • java的jdk配置环境变量
    安装JDK选择安装目录安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装jre。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)如下图所示 1:安装jdk随意选择目录只需把默认......