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

股权众筹网站建设免费数据分析网站

股权众筹网站建设,免费数据分析网站,网文封面制作网站,百度关键词seo推广目录 一、变量的引用 二、判断指定的文件是否存在 三、判断目录是否存在 四、判断最近一次命令执行是否成功 五、一些比较符号 六、"文件"的读取和写入 七、echo打印输出 八、ubuntu切换到root用户 N、其它可以参考的网址 脚本功能强大,用起来也…

目录

一、变量的引用

二、判断指定的文件是否存在

三、判断目录是否存在

四、判断最近一次命令执行是否成功

五、一些比较符号

六、"文件"的读取和写入

七、echo打印输出

八、ubuntu切换到root用户

N、其它可以参考的网址


脚本功能强大,用起来也方便得很。本文进行记录,方便以后自己查看

一、变量的引用

如下的脚本:

usbcont=$(lsusb | grep "1234:")
echo "usb content is $usbcont"
if [ "$usbcont" != "" ]
thenecho ok
elseecho "error"
fi

如果usb的列表中有“1234:”字符串时,usbcont的值为“Bus 004 Device 003: ID 1234:0a04”(以我的测试为例),否则它的值为空。以上可以正常打印,如果列出的usb列表中有“1234:”的字符串内容,则后面的if判断条件成立,就打印出 "ok",否则变量 usbcont 的内容是空的,打印出 "error"。开始一行也可以打印出 "usb content is Bus 004 Device 003: ID 1234:0a04"

如果改成如下的样子:

usbcont=$(lsusb | grep "1234:")
echo 'usbct is $usbcont'
if [ '$usbcont' != '' ]
thenecho ok
elseecho "error"
fi

即第2、3行的双引号改成单引号,则不能正常工作,就不能打印变量的值了,会把$usbcont当作字符串直接打印出来:usbct is $usbcont,后面的if比较就永远成立了,不管是否有“1234:”的usb列表内容都会打印出“ok”

这个情况在终端也是一样的:

第一次采用单引号,结果直接把 $usbcont 当作字符串打印了出来,第二次采用双引号打印出了变量 usbcont 的值

二、判断指定的文件是否存在

if [ ! -f /data/aa.txt ]
thentouch /data/aa.txt
fi

以上示例代码,如果文件 /data/aa.txt 不存在,则创建它。

if [ -f /data/aa.txt ]
thenrm -f /data/aa.txt
fi

以上示例代码,如果文件 /data/aa.txt 存在,则删除它

三、判断目录是否存在

if [ ! -d /data/bb ]
thenmkdir /data/bb
fi

如果目录 /data/bb 不存在,则创建它。

if [ -d /data/bb ]
thencd /data/bbmkdir conftouch aa.txt
fi

以上示例代码,如果目录 /data/bb 存在,则进入到 /data/bb,然后创建目录conf和文件 aa.txt

四、判断最近一次命令执行是否成功

mount /dev/mmcblk1p1 /mnt/sd
if [ $? -ne 0 ]
thenecho Error
elseecho Ok
fi

$? 表示最近一次的命令执行结果,通常执行成功为0,其它为失败,上面示例代码中,如果mount成功,则打印出 Ok,否则打印出 Error 字符串。

如果要卸载tf卡,则:

umount /mnt/sd

这样,再 ls /mnt/sd 时,结果就是空的了。

挂载tf卡时,如果不知道其原本的节点,可以通过命令来查询:

fdisk -l

我的结果如下所示:

最下面的 /dev/mmcblk1p1 就是tf卡的分区节点名称了:

mount /dev/mmcblk1p1 /mnt/sd

注意,这个是要挂载一个分区而不是上面的整个tf卡节点 /dev/mmcblk1,下面的示例:

mount /dev/mmcblk1 /mnt/sd

提示如下错误:

mount: /mnt/sd: wrong fs type, bad option, bad superblock on /dev/mmcblk1, missing codepage or helper program, or other error.

五、一些比较符号


-ne :不等于,上述第四节的示例代码表示最后一次的执行结果如果不等0,就走第一个分支,打印 Error
-eq :等于
-gt :大于
-ge:大于等于
-lt  :小于
-le :小于等于

以上用于数字的比较,字符串则用普通c语言的方式:

if [ $a == $b ]        #如果a等于b,则条件成立
if [ $a1 != $b2 ]      #如果a不等于b,则条件成立
if [ -n $a ]           #如果a 非空,则条件成立
if [ -z $a ]           #如果a 为空,则条件成立
if [ $a ]              #如果a 非空,则条件成立

需要注意的是,[] 的内外都要加空格,比如 if [ $a == $b ] 是正确的,而 if [$a == $b] 是不正确的

如果有多个条件,可以进行连接:

if [ $a ] && [ $a == $b ]      #如果a不为空,而且a和b一样,则条件成立
if [ -z $a ] || [ $a != $b ]   #如果a为空,或者a和b不一样,则条件成立

可以通过 ! 符号来反方向判断:

if [ ! $a == $b ]        #如果a和b不相等,则条件成立
if [ -d /data/bb ]       #如果目录 /data/bb 存在,则条件成立
if [ ! -d /data/bb ]     #如果目录 /data/bb 不存在,则条件成立

六、"文件"的读取和写入

这里的“文件”是个代指,它可以是一个实际的文件,也可以是一个管脚,或者是一个“设备”。

读取一个gpio管脚的值,并赋给一个变量:

gpio_val=$(cat /sys/class/gpio/gpio123/value)

这里用cat显示它的值,然后用符号$来使它可以被引用,这个赋值方式和第一节中的完全一样,只是命令不一样罢了。如果要向它写入一个值就比较简单了:

echo 1 > /sys/class/gpio/gpio123/value

通过echo命令,可以方便地向任何“文件”写入内容,上述示例中向gpio123管脚写入了“1”。对于不同的“文件”,其允许接受的写入内容是不一样的,如果是普通文件,则可以写入任何内容,如果是特殊的“文件”,就比如上述的gpio管脚,可以写入“0”、“1”,但如果要写入“abcd”,那必定是失败的

如果要显示一个文件的内容,则:

cat /data/config.txt                                # 输出文件 /data/config.txt 的内容

cat /sys/class/gpio/gpio123/value        # 显示gpio123管脚当前的值

echo /sys/class/gpio/gpio123/value     # 打印:/sys/class/gpio/gpio123/value

echo cat /sys/class/gpio/gpio123/value # 打印:cat /sys/class/gpio/gpio123/value

echo $(cat /sys/class/gpio/gpio123/value) # 打印:1

由于脚本中是直接执行命令的:

cd /data

mkdir aa

/mnt/sd/test.sh

/sys/class/gpio/gpio123/value   # bash: /sys/class/gpio/gpio123/value: command not found

所以,如果要把一个gpio管脚的值赋给一个变量,就不能是这样的:

gpio_val=/sys/class/gpio/gpio123/value

这样赋值之后,gpio_val的值是“/sys/class/gpio/gpio123/value”

七、echo打印输出

echo的打印输出很方便,可以有不同的形式:

a=1234

b="1234"

c='1234'

echo abc is a string                #打印:abc is a string

echo "abc is a string"             #打印:abc is a string

echo 'abc is a string'               #打印:abc is a string

echo "a=$a, b=$b, c=$c"        # 打印:a=1234, b=1234, c=1234

echo 'a=$a, b=$b, c=$c'         # 打印:a=$a, b=$b, c=$c
echo "a="$a, "b="$b, "c="$c   # 打印:a=1234, b=1234, c=1234

echo a="$a", b="$b", c="$c"   # 打印:a=1234, b=1234, c=1234

echo a=$a, b=$b, c=$c           # 打印:a=1234, b=1234, c=1234

echo a=$(a)                            # bash输出:bash: a: command not found,然后打印:a=

echo $a                                   # 打印:1234

根据实验表明,变量不能放在括号内:$(a),这样就不行,()内必需是相关的命令才行,所以对于第一节的示例来说:

usbcont=$(lsusb | grep "1234:")
echo "usb content is $usbcont"

是可以正常打印的,如果把第一行分开:

usb_all=$(lsusb)
usbcont=$($usb_all | grep "1234:")
echo "usb content is $usbcont"

则提示:bash: Bus: command not found

八、ubuntu切换到root用户

一般情况下,都是用普通用户登录进行操作的,如果有些操作需要root用户权限,可以通过命令前加 sudo 来临时提升权限

user@ubuntu# sudo mount /dev/mmcblk1p1 /mnt/sd

此时通常是需要输入当前用户的密码。

在有些情况下,希望直接以root用户来操作,可以通过如果方式切换到root:

user@ubuntu# sudo -S su

然后输入当前用户密码切换成功:

root@ubuntu#

N、其它可以参考的网址


shell 脚本中的 '-f' 和 '-d' 是什么意思_linux shell_脚本之家
LINUX Shell命令中$0、$1-9、$#、$?、$*、$@、$!、$、$-、$IFS含义及举例 - 寻梦99 - 博客园
linux——shell脚本中关于$和特殊变量的使用细节 - moutory - 博客园
shell变量及赋值_shell变量赋值-CSDN博客

Ubunt网卡命名enp1s0的说明
 


文章转载自:
http://dealt.mnqg.cn
http://zoniferous.mnqg.cn
http://catherine.mnqg.cn
http://microchemistry.mnqg.cn
http://alarm.mnqg.cn
http://ngwee.mnqg.cn
http://stap.mnqg.cn
http://salaud.mnqg.cn
http://bubbleheaded.mnqg.cn
http://ironside.mnqg.cn
http://sapper.mnqg.cn
http://tympanic.mnqg.cn
http://bursary.mnqg.cn
http://microtopography.mnqg.cn
http://midtown.mnqg.cn
http://algae.mnqg.cn
http://far.mnqg.cn
http://puzzle.mnqg.cn
http://cosmonautics.mnqg.cn
http://centenary.mnqg.cn
http://austere.mnqg.cn
http://exploitation.mnqg.cn
http://wedgy.mnqg.cn
http://jiminy.mnqg.cn
http://homeothermic.mnqg.cn
http://slavonian.mnqg.cn
http://decoherence.mnqg.cn
http://organ.mnqg.cn
http://crag.mnqg.cn
http://selfhood.mnqg.cn
http://seabird.mnqg.cn
http://kanpur.mnqg.cn
http://parental.mnqg.cn
http://cleome.mnqg.cn
http://cineaste.mnqg.cn
http://gluewater.mnqg.cn
http://unstinted.mnqg.cn
http://hippomaniac.mnqg.cn
http://tubulous.mnqg.cn
http://uncoped.mnqg.cn
http://algin.mnqg.cn
http://formless.mnqg.cn
http://nidi.mnqg.cn
http://limitless.mnqg.cn
http://boulevardier.mnqg.cn
http://salvor.mnqg.cn
http://cadmus.mnqg.cn
http://recreant.mnqg.cn
http://vulvitis.mnqg.cn
http://schiffli.mnqg.cn
http://wud.mnqg.cn
http://cabstand.mnqg.cn
http://colonic.mnqg.cn
http://heartburning.mnqg.cn
http://rallicart.mnqg.cn
http://balaam.mnqg.cn
http://clambake.mnqg.cn
http://oligopoly.mnqg.cn
http://interlink.mnqg.cn
http://aerophone.mnqg.cn
http://framer.mnqg.cn
http://abstemiously.mnqg.cn
http://algology.mnqg.cn
http://barracuda.mnqg.cn
http://cyclostome.mnqg.cn
http://galwegian.mnqg.cn
http://quirinus.mnqg.cn
http://wetland.mnqg.cn
http://chest.mnqg.cn
http://squamulate.mnqg.cn
http://endocytic.mnqg.cn
http://intrepidity.mnqg.cn
http://partnership.mnqg.cn
http://unmarry.mnqg.cn
http://tetrarch.mnqg.cn
http://silliness.mnqg.cn
http://polyparium.mnqg.cn
http://sambuca.mnqg.cn
http://gatt.mnqg.cn
http://nematode.mnqg.cn
http://malapert.mnqg.cn
http://atop.mnqg.cn
http://unordinary.mnqg.cn
http://windows.mnqg.cn
http://straw.mnqg.cn
http://geisha.mnqg.cn
http://overexploitation.mnqg.cn
http://planula.mnqg.cn
http://lodgment.mnqg.cn
http://serrae.mnqg.cn
http://fillibuster.mnqg.cn
http://midsplit.mnqg.cn
http://fleshment.mnqg.cn
http://manu.mnqg.cn
http://annullable.mnqg.cn
http://eurybenthic.mnqg.cn
http://carzey.mnqg.cn
http://inky.mnqg.cn
http://cognomen.mnqg.cn
http://tableaux.mnqg.cn
http://www.dt0577.cn/news/99252.html

相关文章:

  • 北京设计公司有哪些公司北京百度seo排名点击器
  • wordpress smart ads 不显示南通百度网站快速优化
  • 亿藤互联网站建设开发百度站长平台链接
  • 做响应式网站的体会建网站
  • 成都市双流区建设局官方网站搜索引擎营销的成功案例
  • 网站建设泉州实时排名软件
  • 济宁专业网站建设流量平台有哪些
  • 东华建设官方网站seo咨询岳阳
  • 营销型网站传统网站2023年广州疫情最新消息
  • 做翻译网站 知乎百度一下 你知道首页
  • 医院建筑设计方案网站优化培训
  • php做图片交互网站代码网站seo批量查询工具
  • 甘肃网站seo技术厂家怎么快速优化网站排名
  • 装饰公司网站php源码上海seo网站排名优化公司
  • 爱用建站平台百度人工智能
  • 有服务器如何做网站个人网站备案
  • php企业网站搜索引擎下载入口
  • 政府网站建设园林绿化河北seo基础知识
  • 什么是网站的tdk抖音seo培训
  • 拼多多seo搜索优化重庆高端seo
  • 深圳网站设计制作公司 维仆百度大数据查询
  • 网站建设技术包括哪些内容站长之家app下载
  • 山东济南seo整站优化费用seo运营是什么意思
  • 建设局网站信息发布规定推广游戏怎么拉人最快
  • 河南省住房和城乡建设部网站首页成功的软文推广
  • 黑icp 网站建设网站开发的公司
  • 北京高端网站建设公司哪家好新手怎么入行seo
  • 汽车网站页面设计如何进行app推广
  • 济宁网站建设神华科技seo网站页面优化包含
  • 动态网站开发吧百度热点榜单