文档章节

.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命令的时候

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

 

© 著作权归作者所有

共有 人打赏支持
粉丝 4
博文 162
码字总数 59007
作品 0
高级shell脚本(for、while、if、case)

1、编写脚本/root/bin/createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之,并生成8位随机口令并存在一个文件中,初步提示改口令,显示...

Lightmisa
2017/09/17
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
NDK开发——x264、AAC在Linux下编译

x264编译 1、下载x264.zip,加入/usr/x264/目录下,进入该目录 2、解压x264 3、授予权限 4、进入x264目录,创建sh文件,并授权 5、进入build_android.sh文件,编写以下代码 6、执行sh文件,编...

qq_30379689
2017/09/30
0
0
shell脚本编程基础

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

51tanxiaojun
2017/11/26
0
0
linux-practice(25-30)

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

little_ding
2017/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
41分钟前
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
3
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
24
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部