当前位置: 首页 > news >正文

遂宁建设局网站首页百度网站链接提交

遂宁建设局网站首页,百度网站链接提交,万网官网登陆,wordpress邮件回复声明 通过学习 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,做出的文章如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一、建立Shell文件 1. Shell简介 Shell是一种命令行界面&am…
声明

通过学习 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,做出的文章如涉及侵权马上删除文章

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负

一、建立Shell文件

1. Shell简介

Shell是一种命令行界面,用于用户与操作系统进行交互。它也是一种脚本语言,允许用户编写程序自动执行一系列命令。

Linux系统中常见的Shell类型包括bash、sh、dash等,其中bash是最常用的Shell之一。

2.建立一个1.sh文件

vim 1.sh

可以利用 #! /bin/bash,#! /bin/dash,#! /bin/sh

ls -l “路径” 是查看权限的 

这三种其实不管用哪种脚本解释器最后调用的还是这个dash


比如ls -l bin/sh 发现调用的还是dash

比如我们用 echo longyu.com 保存退出

运行一下 ./1.sh


就会输出 longyu.com (在复现的时候记得给予1.sh权限)

如果出现权限不足的情况时 如图 rw可读权限
使用指令:chmod u+x 8.sh 

这里使用的是777 然后直接 ./8.sh文件即可

3.sh

vim 2.sh

直接编辑模式输入 echo baidu.com
默认是没有权限的

但是我们利用 sh 2.sh
照样执行成功 bash 2.sh 或者 dash 2.sh 一样成功,因为他们都是脚本解释器,自带权限


我们执行脚本是在当前目录下执行的,如果你的脚本在别的目录
你就要去到那个目录,或者指定好对应路径

4.source

利用source 2.sh 执行和sh命令差不多
只不过这个命令就是对颜色加深标注了

比如我们重编辑一下这个文件


直接把ls命令放到2.sh里面去 sh 2.sh 可以看见直接输出了当前目录下的 2.sh颜色加深了
这个例子就是给大家说明一下这个shell脚本如何在这个里面进行一个执行

二,变量

1.变量声明和定义

举例 定义一个name变量,name="xiaoyu"
再利用 echo $name 打印出来,这就是简单的变量声明

比如 age="27"   echo $age 打印出来的 27

我们来写复杂点,比如说 echo my name is $name,and my age is $age years old


然后就直接打印出了 姓名 和年纪

一般来说加双引号和不加效果是一样的
echo "my name is $name,and my age is $age years old"


加单引号效果是不一样的
echo 'my name is $name,and my age is $age years old'


你会发现他并没有把变量赋值打印出来,而是直接把变量写进来了
区别就是不加或者双引号可以输出变量,但是加入单引号他会把变量当字符串输出出来

2.变量拼接

echo "my name is $name,and my age is $ageyears old"


这个例子中 years与age之间没有空格 所以打印出来为空
因为变量没有事先定义 所以为空


解决办法 将变量用双引号括起来它就会做一个区分
echo "my name is $name,and my age is "$age"years old"


那么除了""还能用什么呢 用{}也可以
echo "my name is $name,and my age is {$age}years old"

这样输出的变量会将输出内容利用花括号框起来


上面讲的全部是临时的一个变量,变量是由数字,字符串下划线组成,
但是不能以数字开头 例如9name,这种是不行的

变量中间最好不要有空格 比如说wanhao

如果非要用这种可以加个下划线 wan_hao="wanhao" 这种

我们怎么查看我们定义的变量呢比如说利用set命令,
比如说set | grep name,怎么删除变量呢我们使用 unset name
再次查看set | grep name就发现没有了

3.常见变量

echo $HOME(家目录 root用户)
/root

Windows中环境变量在path下添加

echo $HOME(家目录 root用户)
/root 

which --a ls (通过这个命令查看ls命令脚本所在路径)

再看看 echo $PATH 这么一个环境变量


usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sin:/bin:/usr/local/games:/usr/games
查看输出结果 存在/usr/bin 目录 就是当我们执行ls它会帮我们找到对应得目录做一个执行,也就是Is得完整路径应该是 /usr/bin/ls 脚本

(1)方法一

根据刚刚的说法
那我们能不能把我们1.sh脚本:直接写到/usr/bin/目录下,然后在kali终端直接输出呢
就是把脚本直接放入已经定义好的路径当中去
mv 1.sh /usr/bin


(2)方法二

那么我们也可以把/root/这个目录直接添加到环境变量中去让整个目录的文件都可以直接执行
export PATH=/root:PATH
echo $PATH (查看环境变量中root目录是否被添加)


export: 是一个用于设置环境变量的关键字,使得设置的变量可以在当前 shell 以及由该 shell 启动的子进程中生效。

PATH: 这是一个非常重要的环境变量,它定义了系统在哪些目录下去寻找可执行程序。当你在命令行输入一个命令(如ls、cat等)时,系统会根据PATH环境变量所指定的目录顺序去查找对应的可执行文件,找到后就执行它。

/root:PATH: 这里是在重新定义PATH的值。它将/root目录添加到了原有的PATH变量值的最前面(假设原有的PATH值存储在变量PATH中,这里通过:PATH的形式保留了原来的值并添加了新的部分)。这样做的结果是,当系统去查找可执行程序时,会先在/root目录下查找,然后再按照原来PATH所指定的其他目录顺序查找。

4.永久变量

刚刚的export只是设置了临时变量,那么我们只有把它写入到配置文件当中才能永久生效
vi .bashrc
export PATH=/root:PATH

source /usr/bin/ .bashrc

source (变量生效 或者重启生效)
新开一个窗口查看变量 1.sh 是否生效

5.字符串相关的操作

假设我们想知道一个字符串的长度,比如我们想解析一个字符串的长度我们如何进行实现?
比如 name="wanhao" age=27 然后我们通过echo"my name is$name,and i am $age years old" 打印完整字符串


str="hello word"
echo ${#tstr}

012345 6个字符
echo ${str:0:6}

三、脚本程序传递参数

脚本如下:

echo 执行的文件名是: $0
echo 第一个参数是: $1
echo 传递的参数作为一个字符串显示: $*
echo 传递的参数独立作为每个字符串显示: $@
echo 传递到脚本的参数个数是: $#
echo 最后命令的退出状态: $?
echo 脚本运行的当前进程ID是: $$

可以向脚本程序传递一个或多个参数,脚本出的$1,里面的数字是可以依次递增的,比如$1,$2,$3等等,其中的$0(比较特殊表示文件名称)

那么好 我们利用 vim 写入脚本3.sh,再利用sh 3.sh执行文件,我们看看执行结果:
执行的文件名是:3.sh


上面显示第一个参数为空,因为我们没有给它指定任何一个参数,我们给他指定一个参数name,sh 3.sh name

然后第一个参数就为name
那么假设我们加入第二个,第三个参数,修改脚本


vim 3.sh
指定参数名分别为 sh 3.sh 1 2 3

由此得出 参数传递一般为
$n (n表示数字 可递增)
$* 就是将参数当作统一的字符串显示出来,
$@ 是将每个字符串当作独立的字符串显示,这也是$*和$@的区别
$# 代表参数的个数
$? 是查看命令执行状态的,如果显示为0,那么命令就是正常执行的,其他数字就是出错了
$$ 就是查看脚本当前进程id的

四、shell编程中进行数学运算

1.数学运算

shell编程在数学运算的时候是相当麻烦的,python中的数学运算可能很简单

在shell编程中 利用expr进行运算
expr 7+18 回显 7+18 那么该怎么运算呢 expr 7 + 18 这样写就行了 7(空格)+(空格)18


以上方法适用于加法减法


如果用乘法就会报错
expr 20 \* 10 (乘法是用\* python直接*就行了 要用\进行转义)


那么如果是除法就有两种方法 一种是 /取整数,%取余数
expr 20 / 10
expr 20 % 10

2.混合运算

expr 5 + 10 \* 7 (shell会按照先乘除后加减运算)


expr ( 5 + 10 \) \* 7


如果有括号这样直接运算就会报错,括号也要进行转义
expr \* 2

3.运算与变量结合

num=`expr 5 + 6`
echo $num

http://www.hkea.cn/news/305344/

相关文章:

  • 铁岭网站建设移动网站广东网站seo
  • 网站模板插件sem和seo
  • 用wordpress制作网站模板沈阳seo
  • 优化一个网站多少钱宜昌网站seo
  • 刚做的网站怎么才能搜索到枸橼酸西地那非片功效效及作用
  • 罗湖区网站公司专业模板建站
  • 哪有备案好的网站国产系统2345
  • 网站开发怎么让别人看到最新营销模式有哪些
  • ssm网站开发源码百度推广多少钱一个月
  • 手游门户网站建设appstore关键词优化
  • 齐河网站开发seo服务内容
  • 北京微信网站建设费用想卖产品怎么推广宣传
  • 网站上线的步骤厦门网站推广公司哪家好
  • 网站做app的软件有哪些百度一下你就知道下载
  • 界面设计的重要性百度seo关键词排名推荐
  • 股票做T网站直播营销
  • 北京手机网站建设公司排名技术优化seo
  • wordpress可爱的主题seo优化教程
  • 自己可以申请网站做外卖吗网站描述和关键词怎么写
  • 公司网站网页设计seo站长工具推广平台
  • 重庆南岸营销型网站建设公司哪家专业真实的网站制作
  • 郑州企业网站建设兼职推广渠道
  • 网站哪些数据优化大师的作用
  • 政府网站集约化建设总结营销软文推广平台
  • 学网站开发跟那个专业最相近百度站长平台注册
  • 网站开发python电脑培训班有哪些科目
  • 惠州响应式网站哪家好云盘搜索
  • spring做网站合肥seo排名收费
  • 做58网站怎么赚钱二十个优化
  • 做企业手机网站北京seo网站开发