linux学习(七)Shell编程中的变量
@
shell编程的建立
[root@localhost ~]# vi mytest
就建立了一个名叫mytest的文件
vim编辑器没有接触过,你就需要学习一下啊,这里介绍几个简单的命令:
- 单点I进入插入模式
 - Ctrl+c退出插入模式
 - 在浏览模式按下“:”,再输入q是不保存退出、wq是保存并退出
 
shell的hello world!
echo 你想要输出的内容

执行脚本的方法:
sh 你创建的shell脚本的名字
bash 你创建的shell脚本的名字
打开一个子shell去读取,不需要有执行权限
或者
source 你创建的shell脚本的名字
区别:在当前shell内执行、且不需要有执行权限,source可以替换成.
. 你创建的shell脚本的名字
或者
./你创建的shell脚本的名字
打开一个子shell,但是需要有执行权限

Shell的环境变量
相当于window系统下的环境变量
| 环境变量 | 说明 | 
|---|---|
| PATH | 指定命令的搜索路径,以冒号为分隔符 | 
| HOME | 指定用户的主工作目录 | 
| HISTSIZE | 命令历史文件 | 
| LOGNAME | 当前的登录名 | 
| HOSTNAME | 主机的名称 | 
| SHELL | shell的全路径名 | 
| TERM | 用户控制终端的类型 | 
| PWD | 当前工作目录的全称 | 
| PS1 | 命令基本提示符,root用户是“#”,对于普通用户是“"$" | 
环境变量一般都大写,系统启动以后自动加载,可写的环境变量用户可以随时修改
使用和设置环境变量

| 命令 | 说明 | 
|---|---|
| echo | 显示某个环境变量值 | 
| export | 设置一个新的环境变量 | 
| env | 显示所有环境变量 | 
| set | 显示本地定义的Shell变量 | 
| unset | 消除环境变量 | 
| readonly | 设置只读环境变量 | 
如图设置PI环境变量为3.1415926

env命令查看


Shell的系统变量
Shell的系统变量主要在对参数和命令返回值进行判断时使用,包括脚本和函数的参数,以及脚本和函数的返回值。
常用系统变量
| 系统变量 | 说明 | 
|---|---|
| $0 | Shell程序名 | 
| $1-$9 | 第1~9个命令行参数的值 | 
| $* | 传递给脚本的所有参数,全部参数合为一个字符串 | 
| $ # | 传递给脚本的参数个数 | 
| $ $ | 当前进程的ID | 
| $ ? | 最后执行一条命令的退出状态,返回值为0则成功,非0则失败 | 
| $ ! | 在后台运行最后一个进程的ID | 
命令行参数的个数大于9的个时,可以使用shift指令将参数左移,获取第10个以后的参数。也可以用shift n将所有参数一次性左移n位


用户自定义变量
用户自定义变量在Shell脚本中使用,他们拥有临时的存储空间。在程序执行中值可以改变,这些变量可以设置为只读。
在程序中使用变量值的时候,要在变量名前面加一个字符“$"。这个符号告诉Shell要取出变量的值(”==“两边不能有空格)

上图输出加了$的值为这个变量的值,不加就直接输出了字符串
当复制给变量含有空格、制表符、或者换行符时,要用双引号把这个字符串引起来
当然赋值也可以像下图所示:

linux学习(七)Shell编程中的变量的更多相关文章
- Linux学习之Shell编程基础
		
转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来 ...
 - linux学习总结----shell编程
		
## 环境变量 ## 全局变量 ``` 常见的全局环境变量 PATH 指令的搜索路径 HOME 用户的家目录 LOGNAME 登录名 SHELL 脚本的类型 使用全局环境变量 echo $PATH 自 ...
 - linux学习18  shell脚本基础-bash变量和逻辑运行
		
一.回顾 1.用户管理,权限管理,install,mktemp 2.用户管理: 3.权限管理: mode,ownership mode: user group other r w x 4.命令:ins ...
 - Shell编程中的变量作用域
		
有两个shell脚本文件: a.sh name=Tom echo $name ./b.sh b.sh echo "name in b.sh:"$name 运行./a.sh时输出结果 ...
 - (七)shell编程学习
		
1.shell程序练习:创建一个dir文件夹,在dir文件夹里再创建一个cd.c文件 首先vim hello.sh 2.shell中的变量定义和引用 (1)变量定义和初始化.shell是弱类型语言(语 ...
 - shell中的输入输出和编程中的变量(shell 03)
		
shell中的输入输出标准输入:键盘标准输出:终端显示器>> 追加是换行追加的echo -n 不尾随换行符 -e 启用解释反斜杠的转义功能 -E 禁用解释反斜杠的转义功能(默认) --he ...
 - shell编程下  特殊变量、test / [  ]判断、循环、脚本排错
		
第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~]# cat /server/scripts/show2.sh #!/bin/ ...
 - 【转】shell编程下 特殊变量、test / [ ]判断、循环、脚本排错
		
[转]shell编程下 特殊变量.test / [ ]判断.循环.脚本排错 第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~] ...
 - Linux学习——shell编程之环境变量配置文件
		
小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...
 
随机推荐
- js的动态表格的增删改查思路
			
1. 首先我们要知道,动态添加,肯定不是 在页面上写死得,而是通过js调用循环放入到页面上的,我们在写动态表格的时候不要先着急写,我们第一步要做的就是构思,要把自己的逻辑先弄清楚,不然的话,前面是好写 ...
 - 求连通块个数 - BFS、DFS、并查集实现
			
本文基于leetcode的200.岛屿数量(题目
 - CefSharp 修复Demo无法在其它路径下启动问题
			
CefSharp编译后,在直接点击打开CefSharp.Wpf.Example.exe,启动没问题但是复制demo包到其它路径下,无法打开demo.原因:代码中含有相对路径下的资源文件引用. CefS ...
 - Angular常用VSCode插件
			
1.Angular 8 Snippets(全家桶) 2.TSLint(ts代码规范.错误提示) 3.Material Icon Theme(文件图标) 4.One Dark Pro(主题) 5.Ang ...
 - NSwag.AspNetCore常用功能介绍
			
对于asp.net core 下的Swagger,之前一直用Swashbuckle的,因为官方推荐,再加上有老张的博客助力<从壹开始前后端分离[ .NET Core2.0/3.0 +Vue2.0 ...
 - POI解析Excel时,如何获取单元格样式以及单元格Style的一些操作
			
最近,公司运营平台需要上传Excel文件并进行解析导入数据库,在开发完成后出现了一个始料不及的生产bug,下面是具体原因: 1.在用POI解析Excel时,默认如果Excel单元格中没有数据,且单元格 ...
 - (python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, 'Read timed out.')
			
(python pip安装第三方库超时问题(raise ReadTimeoutErrorself._pool, None, ‘Read timed out.’)pip工具安装百度经验链接: pip安装 ...
 - C++标准库之string类型
			
stirng类型 简介: C++标准库提供的类型:string 长度可变的字符串 操作简单 仅为包含个人常用函数 头文件 string 类型与其它的标准库类型相同,都需要包含对应的头文件 #incl ...
 - crontab -e 报错(E518: Unknown option: foldenable)
			
crontab 默认编辑器为vi,不支持foldenable #crontab -e Error detected while processing /root/.vimrc: line : E518 ...
 - C#语法基础----变量 符号 数据转换
			
变量的作用:为了更好的管理内存数据,不同类型的数据存放在不同的内存块中. 变量的特点:不同数据类型占用的存储空间大小不一样. 变量的意义:内存地址是一串十六进制数,非常不好记忆,通过变量可以快速找到数 ...