我是靠谱客的博主 敏感花瓣,最近开发中收集的这篇文章主要介绍linux中shell编程怎样运行,shell编程之基础,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、初探shell

#!/bin/bashecho -e 'hello nworld'

执行结果

60a4e47dac743089aabab2a524aea259.png

echo 是打印输出字符,-e选项是开启转义功能

注意:

在windows下编写的shell脚本直接拿到linux下是无法执行的,因为两个的行结束标志不同

直接将windows下的文件copy到linux,查看其格式

a9afea1f4854a22db19ee12f91401672.png

在图中的bash后面是一个回车,通过cat -A 来查看文件中所有字符时可看到这个回车是^M$

查看linux下的回车

e3445269117b4c666b1fa92a5bcc44f5.png

两个的行结束标志不同,所以会导致shell脚本执行不成功

解决方式,通过dos2unix来进行格式转换

10be5d6ce79c3e741a3a4f408f59c3d4.png

2.历史命令

4312f72ca2c0b585894e9d0d43ba27ed.png

执行history

a6005ab34513f3bc578997c67f314d5a.png

想要执行哪条命令使用!行号

921d43deb3f9d9e6974fe6472630bc24.png

甚至用!字符串,如!hist都可以执行该命令

3.输出重定向

cat hello.sh > he.sh将标准输出重定向到he.sh,先清空he.hs再将结果输出到he.sh

cat hello.sh >> he.sh 以追加的方式输出到he.sh中

cat hello.sh 2> he.sh 将标准出错输出到文件中

cat hello.sh  &>  hello.sh 将正确和错误都写到文件中

ls >> tfg 2>>efg   将命令的正确结果保存到tfg,将错误结果保存早efg中

4.shell中的通配符

ccc6584c5252c583bde5c057ce2762b4.png

特殊字符

‘bbbnbbb$name’   单引号中的字符都被认为是普通字符

“bbbbnbbb$name”  双引号中的字符被赋予特殊含义,如n表示转义,$name表示一个变量

$() 将会引用系统命令,如 echo $(date) 与 date的效果一样

5.shell中的变量

变量值的拼接

name =  123

name = ${name}456

这时name的值为123

接受用户向sh脚本中传递的值

99240703add387eeae151029973e2de8.png

一个简单的例子

b2f719c454b257c4f46e03f9369f3176.png

c4837a40a424d8cffa0af3bf0ac97383.png

这里进行了数字相加运算,两个变量在数值相加的时候必须使用$(())将其包起来

$* 与 $@

$*是将输入参数看成一个整体,像字符串;而$@将参数分开对待,就像一个数组

24d6213d597ca3a97fcb46f544ee6f6e.png

b4659ca267101ea263204eb29291707b.png

6、预定义变量

c5f70bc0cc0f2c330ab69d8b768967fd.png

17b67a318994e8c8d4deea4d237a790a.png

代码中的& 是让find命令在后台运行

d868f57dc03a2e0b75c4299dccbb7680.png

最后

以上就是敏感花瓣为你收集整理的linux中shell编程怎样运行,shell编程之基础的全部内容,希望文章能够帮你解决linux中shell编程怎样运行,shell编程之基础所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部