shell脚本文件使用教程
一、Shell脚本使用步骤:
1. 编辑文本文件,如hello.sh#!/bin/shecho "hello world"2. 添加可执行权限chmod a+x hello.sh3. 执行程序./hello.sh
二、shell脚本文件的编写规范
1、首行声明设置解析器,如:#!/bin/sh
2、注释语法:
单行注释:
# 注释内容
多行注释:
:<<!
注释内容
!
三、脚本文件执行的三种方式
1、sh解释器执行:
sh hello.sh
2、bash解释器执行:
bash hello.sh
3、路径执行方式(先赋权):
./hello.sh
四、多命令处理
在/root/ttest/创建testdir.txt,将“HELLO WORLD”写入testdir.txt文件
#!/bin/bash
touch /root/ttest/testdir.txt
echo "HELLO WORLD" >> /root/ttest/testdir.txt
五、shell变量介绍
查看系统环境变量
通过加载shell配置文件中的变量,共享给shell程序使用
系统级环境变量:shell环境加载全局配置文件中定义的变量
用户级环境变量:shell环境加载用户配置文件中定义的变量
env用于查看系统环境变量
set用于查看系统环境变量+自定义变量+函数
常见环境变量
自定义局部变量:
- 可由字母数字下划线组成,不能以数字开头 等号两侧不能有空格。
- 在bash环境中,变量默认类型为字符串类型,无法直接进行数值运算。
- 变量值如果有空格必须以双引号括起来。
- 不能使用关键字作为变量名字。
#变量的定义,var_name=value
age=年龄
#两种方式变量的查看:
$age #直接使用变量名
${age} #使用花括号
#使用花括号可以进行字符串拼接
增:age=年龄
查:echo $age 或者 echo ${age}
改:age=性别
删:unset age
六、常量
变量设置之后不可以修改叫常量
语法:先声明一个变量,再设置为只读,即为常量
val_name=123
readonly val_name
七、自定义全局变量
在当前脚本定义全局变量,这个全局变量可以在当前shell脚本中使用,也可以在子shell环境中使用。
#语法
export val_name1 val_name2
#创建两个sh脚本文件demo1.sh demo2.sh
八、特殊变量
1、$n
$1~$9代表第1个到第9个输入的参数,10个以上用${},即第10个用${10},$0代表获取文件名语法:
sh 脚本文件 输入参数1 输入参数2 ...2、$#
获取所有参数的个数3、$* $#
含义:都是获取所有参数,用于以后输出所有参数
区别:
不加双引号时,$* $#都一样,格式为:$1 $2...$n;
当加双引号时,"$*"获取所有字符串拼接成一个字符串“$1 $2...$n”
当加双引号时,"$#"获取一组参数列表对象"$1" "$2"..."$n"
通过循环可以看出区别,循环语法如下:
for var in 列表变量
do #循环开始命令 #循环体
done #循环结束
九、常见问题
(1)服务器的编码如果不支持utf-8的话,sh脚本中输出中文就会报错,所以需要在sh脚本文件开头加上:
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
shell脚本文件使用教程相关推荐
- linux执行加密的shell,Linux下Shell脚本文件的加密
一些站长会对自己编写的网页文件进行加密,以免自己辛辛苦苦写出来的成果被盗用.而Linux程序员编写的Shell脚本文件,也是可以加密的.这样做的好处除了防止被盗用,还可以防止自己脚本文件中的密码泄露, ...
- xml文件、jsp文件、sql文件、shell脚本文件注释
一,各种文件如何注释: 1.xml文件注释 注释以 <!-- 开始并以 --> 结束, 例如 <!--注释内容-->. 2.jsp文件注释 2. 1. html注释: ...
- 使用Vim编辑运行shell脚本文件的经典步骤
[操作步骤] 1.输入命令 vim test 进入Vim文本编辑器界面.示例shell脚本文件test的内容如下: #!/bin/bash # This script displays the dat ...
- shell脚本编写简易教程
用了caffe有一段时间了,感觉自己写shell脚本的能力有待提高,特地从菜鸟笔记处系统的看了一遍,其实学习基础就可,内容也不多,我就不总结了.把网站上的内容用markdown重新编辑了一下,各位可以 ...
- linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件
搜索热词 以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 #将tomcat中 ...
- Android之在linux终端执行shell脚本文件(通过aapt)得到apk包名
1.问题 我们在ubuntu上经常想看到apk的包名,然后在终端通过pidcat.py packageName 过滤日志,我们常用的办法手机连接电脑,然后打开这个app adb shell dumps ...
- 如何执行shell脚本文件
文章目录 一.使用 shell 命令解释器执行脚本 二.使用命令 source 执行脚本文件 三.使用路径方式执行脚本文件 为什么不能在当前目录直接执行当前目录下的脚本文件呢? 四.使用命令 exec ...
- 在linux中编写shell脚本文件,如何编写简单的Shell脚本(Script)文件之Linux的基本操作...
如何编写简单的Shell脚本(Script)文件之Linux的基本操作 新建一个文本文件包含所需要的脚本.举例,我会使用pico编辑器写一个脚本用来运行程序tar,带上必要的可选项可以用来解压从因特网 ...
- linux脚本编程教程,shell脚本编程基础教程
在Linux中,当你想要做什么事情的时候,可以通过输入命令传递给计算机,但也会有很多时候,我们需要计算机/服务器完成相同的任务,如果我们再一次一次输入命令执行的话,就会非常的不方便,要想让所有的事情变 ...
- shell脚本保姆级教程,附赠100个shell脚本案例!
无论是系统运维,还是应用运维,均可分为"**纯手工"-> "脚本化"-> "自动化"->"智能化"** ...
最新文章
- java实现简易客户信息管理系统
- 整数转化成字符串; 字符串转换为整数
- Boost:BOOST_VERIFY的用法测试程序
- C/C++中Static和Const的作用
- numpy基础(part7)--多项式拟合
- CF5E-Bindian Signalizing【单调栈】
- 将Wiremock集成到Spring Boot Java Web应用程序中以模拟外部依赖关系
- [leetcode]从中序与后序/前序遍历序列构造二叉树
- SpringBoot整合Redis 主从复制_02
- timeshift备份你的Linux系统
- echart3 click点击事件使用
- android平台Camera采集数据ffmpeg进行编码探究
- 百度AI快车道PaddleNLP实战营空降南京,11月9日技术大咖线下开讲
- h5 如何录音保存上传_H5录音及保存到后台recorder.js实现
- 数学-泰勒展开和拉格朗日
- 带CAN唤醒能力的TJA1043
- python怎么保留整数输出_python怎么保留整数
- 一门课程学习转录组调控分析和R可视化第十四期 (线上线下开课)
- 论文那些事儿:《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》
- postman工具批量调用接口