首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

shell脚本介绍,shell脚本结构和执行方式,date命令用法,shell脚本变量简介

Shell脚本文件名称是以.sh为后缀,用于区分这是一个shell脚本shell注释符是井号“#”,和其他编程语言一样,注释那一行内容不会被解释器执行,但是要注意区别“#!”...把一个日期转换成时间戳: date +%s -d "2017-09-06 06:52:16" 另一个与时间相关命令:cal,cal命令可以显示日历: ? 20.4 shell脚本变量 ?  ...shell脚本变量和其他编程语言中变量含义是一样,都是用来存储一个数据,然后使用变量名就可以进行调用了,shell脚本语法和其他脚本语法类似,都不需要使用分号作为语句结束。...定义一个变量: a=10 name=”lisi” 调用变量时需要在变量名前面加上$: echo $a echo $name 只读变量: 使用 readonly 命令可以将变量定义为只读变量,只读变量不能被改变...变量类型: 运行shell时,会同时存在三种变量:   1) 局部变量 局部变量脚本或命令定义,仅在当前shell实例中有效,其他shell启动程序不能访问局部变量

2.5K60

shell脚本】$ 在shell脚本使用

shell脚本 '$' 与不同符号搭配其表示意义也会不同 特殊标志符 含义 $0 当前脚本文件名 $n 传递给脚本或函数参数。n 是一个数字,表示第几个参数。...例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数参数个数 $* 传递给脚本或函数所有参数 $@ 传递给脚本或函数所有参数 $?...上个命令退出状态 $$ 当前Shell进程ID $() 与 `(反引号) 一样用来命令替换使用 ${} 引用变量划分出边界 注释:$* 和 $@ 都表示传递给函数或脚本所有参数,不被双引号(" "...)包含时,都以"$1" "$2" … "$n" 形式输出所有参数。...但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 形式输出所有参数

6.1K20

Shell变量

系统变量 常用系统变量 $HOME、$PWD、$SHELL、$USER等 2.案例实操 (1)查看系统变量 $ echo $HOME (2)显示当前Shell中所有变量:set $ set BASH...(2)等号两侧不能有空格 ​(3)在bash变量默认类型都是字符串类型,无法直接进行数值运算。 ​(4)变量如果有空格,需要使用双引号或单引号括起来。...$D I love b ​(7)可把变量提升为全局环境变量,可供其他Shell程序使用,规则:export 变量名 vim helloworld.sh 在helloworld.sh文件增加echo.../helloworld.sh Helloworld 发现并没有打印输出变量B。 export B ....,如${10}) 2.案例实操 (1)输出该脚本文件名称、输入参数1和输入参数2 touch parameter.sh vim parameter.sh #!

1.6K20

Shell脚本基本语法-Shell变量定义和使用

/bin/bash表示脚本将使用bash解释器。 2.注释:在Shell脚本中使用“#”符号来注释代码。 3.变量:可以使用变量来存储,并在脚本不同部分重复使用。...变量可以是数字、字符串或其他类型数据。在Shell脚本变量使用$符号来引用。 4.条件语句:Shell脚本支持if/else条件语句来执行不同操作,取决于条件是否满足。...5.循环语句:Shell脚本支持for、while和until循环语句。 6.函数:Shell脚本函数是可以重复使用代码块,可用于将一组命令封装到一个单元,从而简化脚本代码。...二、Shell变量定义和使用 在Shell脚本,可以定义变量来存储数据。变量命名规则如下: 变量名称必须以字母或下划线开头,不能以数字开头。 变量名称只能包含字母、数字和下划线。...Shell还支持一些预定义变量,可以直接在脚本中使用。例如,$0表示脚本名称,$1、$2、$3等表示脚本参数,$#表示参数数量,$?表示上一个命令返回,$$表示当前进程PID等。

80200

linux学习第六十三篇:Shell脚本介绍,Shell脚本结构和执行,date命令用法,Shell脚本变量

Shell脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断、循环等语法 可以自定义函数 shell是系统命令集合 shell脚本可以实现自动化运维...,能大大增加我们运维效率 Shell脚本结构和执行 开头需要加#!.../bin/bash 以#开头行作为解释说明 脚本名字以.sh结尾,用于区分这是一个shell脚本 执行方法有两种 chmod +x 1.sh; ./1.sh ; 这个....date +%W Shell脚本变量脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替 使用条件语句时,常使用变量 if [ $a -gt 1 ]; then … ;...fi 引用某个命令结果时,用变量替代 n=wc -l 1.txt 写和用户交互脚本时,变量也是必不可少 read -p “Input a number: ” n; echo n如果没写这个

1.7K70

详解shell脚本环境、普通、特殊变量

本地变量一般在脚本或命令中进行定义,只在当前shell中有效 #变量名一般是由字母、数字、下划线组成,可以以字母或下划线开头 #普通变量定义 变量名=value #不加引号 变量名='value'...$0 获取当前执行脚本文件名,如果脚本包含路径,则打印脚本路径 $n 获取第n个执行脚本参入,当n大于9,使用{}阔起来 $# 获取脚本传参数得总个数 $* 获取脚本所有传参参数 $@ 获取脚本所有传参参数...获取上一个命令执行返回,0为成功,非0为失败 $$ 获取脚本进程号PID $!.../bin/bash echo $1 #打印脚本传递第一个参数 #执行效果 [root@game test]# sh test.sh guoke guoke #接收2个参数 [root@game...3,那么就打印帮助函数,退出脚本 4.

1.7K20

解决shell脚本source etcprofile重载配置文件生效问题

背景 最近在通过shell脚本在Linux系统安装Java或Python过程,遇到了shell脚本“source /etc/profile”无法生效问题,虽然也可以在执行完脚本后再次执行“source...python3命令) 2.原因 执行脚本时,脚本命令是在子shell执行,子shell只能继承父shell环境变量,而无法修改父shell环境变量,所做修改仅对当前子shell有效。...(点) 用于使shell读取指定shell文件,并依次执行文件所有语句 作用于当前shell进程 sh 执行指定shell脚本,在子shell执行脚本语句 创建一个子shell,在新namespace...执行此脚本,继承父shell环境变量,但不改变父shell环境变量,仅对当前子shell有效 ./ 执行当前脚本文件,前提是待执行文件具有可执行属性,等价于sh 创建一个子shell,在新namespace...执行此脚本,继承父shell环境变量,但不改变父shell环境变量,仅对当前子shell有效 5.其他注意事项 若shell脚本中使用了source命令,则需要使用bash(或source)来执行,

7.6K31

快速学习-Shell变量

第4章 Shell变量 4.1 系统变量 常用系统变量 $HOME、$PWD、$SHELL、$USER等 2.案例实操 (1)查看系统变量 [atguigu@hadoop101 datas]$...(2)等号两侧不能有空格 (3)在bash变量默认类型都是字符串类型,无法直接进行数值运算。 (4)变量如果有空格,需要使用双引号或单引号括起来。...,可供其他Shell程序使用 export 变量名 [atguigu@hadoop101 datas]$ vim helloworld.sh 在helloworld.sh文件增加echo $B.../helloworld.sh Helloworld 发现并没有打印输出变量B。...(功能描述:最后一次执行命令返回状态。如果这个变量为0,证明上一个命令正确执行;如果这个变量为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)

45410

shell脚本$符号意义

// shell脚本$符号意义 // 今天是远程办公第4天,渐渐找到了一点在家办公节奏了,改了几个shell脚本,在改动过程,发现还有一些知识点需要巩固,这里写出来,加深下印象。...关于$符号,大家肯定都不陌生,在shell脚本,$作用还是比较大多,这里将所有的$组合都列出来,大家可以看下效果。 $组成命令大概有下面几个: $0,$1...$?,$!.../test.sh方法来运行脚本时候,$0是./test.sh,而不是test.sh 2 $? $?...sleep 10命令,脚本运行完会睡眠10s,脚本打印出来了60658,此时我们查看当前脚本进程号,发现子进程进程id是60658 4 $*和$@ 这两个放在一起,主要是因为他们都代表引用所有参数...反应脚本某个命令进程号。

4.1K10

MakefileShell脚本简介

给很多刚接触Makefile的人: 1、Makefile可以嵌入shell脚本,而且能像shell脚本中一样,各种命令、控制结构都可使用。 2、Makefile主要结构是 ......只有在command位置shell脚本才是有效,也就是只有在“生成目标的规则处”写shell脚本才是shell脚本,其它位置shell都是无效。...3、Makefileshell,不同行在不同进程执行,不同行直接不能传递变量,所以很多时候shell都尽量使用反斜杠()来把相关内容串成一行。...4、Makefile变量shell变量是两个不同东西,并且为了避免Makefile变量shell变量冲突,引用Makefile变量最好使用$(Makefile_Var),引用shell变量时最好使用...但如果在纯粹shell编程,纯shell脚本里可以使用$VAR来引用VAR这个变量。 收藏于 2012-08-08

2K80

Shell脚本 DevNull 用途

在命令行和脚本中都非常有用 用途 /dev/null 通常被用于丢弃不需要输出流,或作为用于输入流空文件,这些操作通常由重定向完成,任何你想丢弃数据都可以写入其中 丢弃标准输出 在写shell脚本时候...,只想通过命令结果执行后面的逻辑,而不想命令执行过程中有一大堆中间结果输出,这时候可以把命令执行过程输入全部写入 /dev/null 现有 a.sh 脚本,它功能是判断传入系统命令是否存在,脚本内容如下...丢弃标准错误输出 在shell脚本,删除一个文件时候,需要先判断文件是否存在,然后才能执行删除操作,否则删除时候会输出错误, 一般删除文件脚本内容如下: #!...,为了方便调试,经常会加一些日志打印逻辑,有时这种调试日志还比较多,脚本测试通过之后,这些调试日志可能就删除或者注释掉了 这里提供一个小技巧,既不用删除也不用注释掉日志,同时执行脚本时候还不会输出这些调试日志...比如: 当前目录有一个日志文件 log.txt,脚本调试日志会以 echo " this is debug log" >> log.txt 形式写入这个文件 现在脚本功能测试通过了,调试日志不需要写入

1.1K20

Shell-alias在Shell脚本使用

概述 在shell开启alias 实际操作 概述 众所周知,shell脚本使用是非交互式方式,在非交互式模式下alias扩展功能默认是关闭,此时虽然可以定义alias别名,但是shell不会将alias...别名扩展成对应命令,而是将alias别名本身当作命令执行,如果shell内置命令和PATH均没有与alias别名同名命令,则shell会找不到指定命令。...---- 在shell开启alias 使用shell内置命令shopt命令来开启alias扩展选项。...shopt是shell内置命令,可以控制shell功能选项开启和关闭,从而控制shell行为 常用命令: Command Desc shopt -s opt_name Enable (set) opt_name...项目启动中会依赖一些环境变量,所以双机启动脚本需要显式引入.bash_profile文件。 所以我们将 开启alias命令放在 .bash_profile

2.2K10
领券