首页 > 系统相关 >shell编程总结

shell编程总结

时间:2023-04-25 23:11:01浏览次数:42  
标签:总结 shell 函数 编程 参数 file int2 int1


一,执行shell程序文件有三种方法
(1)#sh file
(2)# . file
(3)#source file

shell常用的系统变量
$ # :保存程序命令行参数的数目
$ ? :保存前一个命令的返回码
$ 0 :保存程序名
$ * :以("$1 $2...")的形式保存所有输入的命令行参数
$ @ :以("$1""$2"...)的形式保存所有输入的命令行参数


二,shell函数介绍
Shell中引用其他文件:
Shell使用source引用其他文件,这类似于C语言中的include。

               source  file_path_name

这样可以把函数定义在一个文件中,在另外一个文件中调用这个文件中的函数。
 
Shell中函数的定义:
格式1、

function    fun() 

 { 

                   command 

 } 


 格式2 


 function fun 

 { 

                  command 

 }


 

Shell中函数的调用:

         funname     参数1   参数2   ...     参数n
         没有参数时调用:   funname

 

Shell中参数传递:

         在函数中使用:$#获取参数的个数;
         在函数中使用:$@和$*获取参数内容;
         在函数中使用:$1,    $2,    ...      $(n)获取第一个参数,第二个参数等

         在函数中获取函数参数的方法,和调用shell脚本的参数是一样的。

Shell中函数的返回值:

        在shell中,函数的返回值,即return返回值,存在在$?内置变量,

       可以使用$?,获取函数返回值。

 

 

 全局变量:

        在shell中定义函数后,函数会与返回值,但是有时候返回值是一个列表,可以用全局变量返回:

        export   global_value_name=""

        function   test_fun()

        {
               global_value_name='abc  edf   aaa'
        }
        echo global_value_name

三:if表达式介绍
条件表达式

    文件表达式

if [ -f  file ]    如果文件存在
if [ -d ...   ]    如果目录存在
if [ -s file  ]    如果文件存在且非空
if [ -r file  ]    如果文件存在且可读
if [ -w file  ]    如果文件存在且可写
if [ -x file  ]    如果文件存在且可执行   

    整数变量表达式

if [ int1 -eq int2 ]    如果int1等于int2   
if [ int1 -ne int2 ]    如果不等于    
if [ int1 -ge int2 ]       如果>=
if [ int1 -gt int2 ]       如果>
if [ int1 -le int2 ]       如果<=
if [ int1 -lt int2 ]       如果<
   

       字符串变量表达式

If  [ $a = $b ]                 如果string1等于string2
                                字符串允许使用赋值号做等号
if  [ $string1 !=  $string2 ]   如果string1不等于string2       
if  [ -n $string  ]             如果string 非空(非0),返回0(true)  
if  [ -z $string  ]             如果string 为空
if  [ $sting ]                  如果string 非空,返回0 (和-n类似)   

标签:总结,shell,函数,编程,参数,file,int2,int1
From: https://blog.51cto.com/u_16088628/6225490

相关文章

  • 决策树算法总结
    决策树(DecisionTree)决策树是一种树形结构,以信息熵为度量构造一棵熵值下降最快的树,它每个内部节点表示在某个特征上的分割使得分割前后熵值下降最快,到叶子结点处的熵值为零,此时每个叶结点中的样本都被归为同一类(训练时叶结点中数据的真实类别未必为同一类)。决策树算法递归的选择......
  • 4月25号总结
    今天老师专门找了几个组讨论问题,非常幸运,我们就在其中,老师对我们的选题作了详细的分析划分了我们需要做什么,完成什么功能,主要分为以下几点:1、首先要把图片中表格的信息存储到数据库中,只有存到数据库里了,才有后面对数据的一系列操作2、添加历史记录,标题,关键字,供用户更方便的使用......
  • 第一阶段绩效总结
    根据对团队的奉献值王集洲:独自完成物流公司后台系统(100分)陈俊杰:完成达梦数据库连接、客户端Web界面设计(70%)、后端Java代码编写(80%)(50分)冯嘉乐:客户端Web界面设计(30%)、后端Java代码编写(20%)(25分)......
  • Rust编程语言入门之最后的项目:多线程 Web 服务器
    最后的项目:多线程Web服务器构建多线程Web服务器在socket上监听TCP连接解析少量的HTTP请求创建一个合适的HTTP响应使用线程池改进服务器的吞吐量优雅的停机和清理注意:并不是最佳实践创建项目~/rust➜cargonewhelloCreatedbinary(application)`......
  • 实验3 控制语句与组合数据类型应用编程
    task1程序源码:1importrandom23print('用列表储存随机整数:')4lst=[random.randint(0,100)foriinrange(5)]5print(lst)67print('\n用集合存储随机整数:')8s1={random.randint(0,100)foriinrange(5)}9print(s1)1011print('\......
  • 总结20230425
    代码时间(包括上课):2h代码量(行):100行博客数量(篇):1篇相关事项:1、今天进行了数据库的上机,进行了SQL语句的复习。2、今日进行了python的上机,进行了python面向对象的知识的练习。3、今天进行了四级分数的查询,很好!过了!。......
  • Linux分区重要总结
    df-h :以比较容易读的格式显示目录和使用情况df -i  :显示每个分区和目录的inode使用情况lsblk  -f  列出所有磁盘的分区信息fdisk-l  列出系统里面的磁盘信息分区的类型:  Linux的分区id是83  ,交换分区的类型是82   逻辑分区的类型是8e ......
  • Java静态代理总结
    总结:真实对象和代理对象都要实现同一个接口代理对象要代理真实角色优点:代理对象可以补充真实对象所要做的事情真实对象只需要关注自己做的事情代码示例:执行结果:......
  • 实验3 控制语句与组合数据类型应用编程
    task1.pyimportrandomprint('用列表存储随机整数:')lst=[random.randint(0,100)foriinrange(5)]print(lst)print('\n用集合存储随机整数:')s1={random.randint(0,100)foriinrange(5)}print(s1)print('\n用集合存储随机整数:')s2=set()whi......
  • Java 编程问题:三、使用日期和时间
    本章包括20个涉及日期和时间的问题。这些问题通过Date、Calendar、LocalDate、LocalTime、LocalDateTime、ZoneDateTime、OffsetDateTime、OffsetTime、Instant等涵盖了广泛的主题(转换、格式化、加减、定义时段/持续时间、计算等)。到本章结束时,您将在确定日期和时间方面没有问题,......