文档章节

.sh 编写

 小南风
发布于 2016/11/18 10:11
字数 342
阅读 3
收藏 0

1.常用符号

./run.sh abc def //$0 是./run.sh 这个字符

echo hello $0 $1 $2 // $1 取出abc 的值 ,$2 ,取出第二个参数

$# // 参数的个数

$@ // 第0个后面所有的参数

$1 // $n 第一个或者n个参数

$? // 上次命令执行命令的结果, 1或者 0 , 0成功, 非0,失败

-e // exists 判断文件是否存在

-f // 是否是个文件

-d // 判断目录是否存在

shift //参数左移 ,

 

2.脚本测试 

mkdir   /root/myfolder
echo $?
echo   hhh
echo $?
if [ $#  -lt 1 ]; then          #判断参数个数
 	echo no args!
else
 echo $@                   #打印第0个后面所有参数 
fi
#comments      //#是注释:
if [ -e  $1 ]  ; then    #判断传入的第一个字符是不是存在的
  echo  exists !          #如:./run.sh    /root     :结果是存在 ,打印 exists
  else
echo  no zai!
fi
###   打印 1 到10  ###
for((i=0;i<10 ; i++));
do 
echo $i;
done
####  

 

打印传入的参数 :

#!/bin/bash
count=$#     #把参数 总个数存起来
for((i=1 ;i<=$count ; i++));
do 
echo $1;
shift;
done

 

  1. 命令界面运行  

判断文件是否存在

命令的执行过程

命令的执行 关系:

a &&b //a 成功后执行b

a|| b // a失败后执行b

a; b //多行命令一起些, 都执行

(a; b) //组合命令 ,只在当前目录执行,不切换目录,当出现 cd命令的时候

指令结束后, 回到 运行前的目录;

 

© 著作权归作者所有

下一篇: Ubuntu的安装
粉丝 4
博文 162
码字总数 59007
作品 0
私信 提问
linux-practice(25-30)

25、编写脚本:传递一个字符串给脚本,脚本会将该字符串当作用户名,如果该用户不存在,则添加之并为其设置与用户名相同的密码 答: #!/bin/bash # if id $1 &> /dev/null; then echo "$1 i...

little_ding
2017/11/22
0
0
shell脚本编程基础

练习一1、编写脚本/root/bin/argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1,则提示用户“至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文...

51tanxiaojun
2017/11/26
0
0
实现同一个脚本多次运行,系统中只有一个进程

编写脚本,实现同一个脚本多次运行,系统中只有一个进程 root@nfs scripts]#cat pid.sh #!/bin/shpidpath=/tmp/a.pidif [ -f "$pidpath" ] then kill >/dev/null 2>&1 rm -f $pidpathfi echo......

ahtornado
2017/05/20
0
0
.sh 文件里如何编程,试之在指定文件的末尾添加内容(CentOS 5)?

我想编写 .sh 脚本修改 CentOS 服务器上一个文件,在文件末尾添加一些内容,请问如何添加?谢谢! 请问如何编写这个 .sh 脚本?谢谢!

华晨
2012/01/31
2.5K
2
bin/sh^M: bad interpreter

bin/sh^M: bad interpreter: No such file or directory解决 问题:bin/sh^M: bad interpreter: No such file or directory 原因:.sh脚本在windows系统下用记事本文件编写的。不同系统的编码...

Canaan_
2018/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

texlive安装

Installing to: D:/bin/texlive/texlive/2019Installing [001/307, time/total: ??:??/??:??]: adobemapping [2130k]Installing [002/307, time/total: 00:03/08:57]: ae [84k]Installing......

MtrS
今天
2
0
运维规范

命名规范 发布流程 监控告警 故障定位 状态 日志 监控

以谁为师
今天
2
0
约瑟夫环(报数游戏)java实现

开端 公司组织考试,一拿到考题,就是算法里说的约瑟夫环,仔细想想 以前老师将的都忘了,还是自己琢磨把~ package basic.gzy;import java.util.Iterator;import java.util.LinkedList;...

无极之岚
今天
3
0
Kernel字符设备驱动框架

Linux设备分为三大类:字符设备,块设备和网络设备,这三种设备基于不同的设备框架。相较于块设备和网络设备,字符设备在kernel中是最简单的,也是唯一没有基于设备基础框架(device结构)的...

yepanl
今天
3
0
Jenkins 中文本地化的重大进展

本文首发于:Jenkins 中文社区 我从2017年开始,参与 Jenkins 社区贡献。作为一名新成员,翻译可能是帮助社区项目最简单的方法。 本地化的优化通常是较小的改动,你无需了解项目完整的上下文...

Jenkins中文社区
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部