文档章节

.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
实现同一个脚本多次运行,系统中只有一个进程

编写脚本,实现同一个脚本多次运行,系统中只有一个进程 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
shell脚本编程基础

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

51tanxiaojun
2017/11/26
0
0
替代Linux下的rm命令

方式一:自己编写脚本 编写脚本del.sh #!/bin/bash TMPDIR="/tmp/trashtmp" mv $@ $TMP_DIR chmod +x /home/scripts/del.sh mkdir -p /tmp/trash_tmp chmod 777 /tmp/trash_tmp vim .bashr......

守护我们的幸福
2017/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 MySQL 的二进制日志恢复数据库数据

经常有网站管理员因为各种原因和操作,导致网站数据误删,而且又没有做网站备份,结果不知所措,甚至给网站运营和盈利带来负面影响。所以本文我们将和大家一起分享学习下如何通过 MySQL 的二...

吴伟祥
15分钟前
0
0
org.apache.catalina.startup.Catalina stopServer SEVERE: Could not contact localhost:8005. Tomcat may

org.apache.catalina.startup.Catalina stopServer SEVERE: Could not contact localhost:8005. Tomcat may 2017年07月21日 14:52:10 子木HAPPY阳VIP 阅读数:14134 标签: tomcatnginx 更多......

linjin200
17分钟前
0
0
线下工坊|Blockchain Coding Day:零基础教你开发DAPP(北京)

我们的目标是通过编程学习让你更了解区块链技术。这将对区块链开发初学者一次很好的体验。这里需要强调一下,编程零基础也能学会。 我们将以小组的形式,由教练带领学员完成DAPP开发。每位学...

HiBlock
54分钟前
2
0
查看内存情况

jinfo:可以输出并修改运行时的java 进程的opts。 jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 jstat:一个极强的监视VM内存工具。...

Canaan_
55分钟前
2
0
基于对象特征的推荐

(本实验选用数据为真实电商脱敏数据,仅用于学习,请勿商用) 在上一期基于协同过滤的的推荐场景中,我们介绍了如何通过PAI快速搭建一个基于协同过滤方案的推荐系统,这一节会介绍一些如何基...

阿里云官方博客
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部