zoukankan      html  css  js  c++  java
  • shell脚本相关问题

    1.什么是shell?

    shell是用户和内核之间的接口;

    2.典型linux系统上常用的shell有哪些不同类型?

    bash,sh等;

    3.软链接和硬链接有什么区别?

    软链接相当于快捷方式,是文件名的链接,删除原始文件会使软链接处于断开状态;

    硬链接相当于复制,删除原始文件,不影响硬链接;

    4.如何在linux中传递和访问脚本的参数?

    脚本(a.sh)中写入$1,$2,执行脚本时,加参数(./a.sh "arg1" "arg2")

    5.$#的意义是什么?

    $#显示传递给脚本的参数计数;

    6.我想监视一个不断更新的日志文件,可以用什么命令最有效地实现这个目的;

    tail -f 文件名;默认显示最后10行,连续显示文件的更新部分;

    7.我想连接远程服务器并执行一些命令,我该如何实现?

    我们可以使用ssh来做到这一点;ssh username@serverIP -p sshport;若是sshport为22,也可以省略-p,如,ssh root$183.13.27.97;

    8.linux中的3个标准流是什么?

    0-标准输入;1-标准输出;2-标准错误;

    9.for循环的语法

    10.在linux中编写if条件的语法;

      

    11.shell脚本是什么,它是必须的吗?

    一个shell脚本是一个文本文件,包含一个或多个命令。有时经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令到shell脚本来完成这些日常工作任务;

    12.可以在shell脚本中使用哪些类型的变量?

    系统定义变量(set查看)、用户定义变量(变量值可以通过echo $变量名 查看);

    13.执行脚本;

     bash a.sh; cat a.sh |bash; ./a.sh;

    14.变量使用

     name=`cat a.sh`

    echo $name(无格式);echo "$name"(与linux查看的效果一致,有格式)

     shell赋值时,不需要考虑值类型,如,字符串、整数、小数;默认赋值为字符串;

    局部变量,name=xixi当前进程下使用(父进程或子进程不能使用);pstree -p;(查看进程树)

    全局变量(环境变量),export name 或 export name=hehe(赋值并声明为全局变量)或 declare -x name=hehe ;(可以一直往下传n级进程);(env查看全局变量)

    unset name;删除变量name;

    set显示所有变量,标准变量、全局变量;

     

     ()开启子shell(pid与当前shell,pid一致),一次性,不影响当前shell;执行完就结束了;

    {}影响当前环境;

    (ls;pwd),{ ls;pwd;}无差异,但赋值就不同了,如(name=hua;echo $name)

     远程上传文件:scp 文件名 用户名@ip:路径

    shift 位移

     

     $?判断上一条命令是否成功;执行脚本后,$?,判断脚本中最后执行的一条命令是否正确(如,第一条脚本语法错误,脚本位置中最后一条不执行);

     

     

     

     

     bash -x a.sh分布执行;

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    使用字体图标完整步骤
    用position:absolute定位小窗口位于版面正中心
    MySql 技术内幕 (第7章 游标)
    MySql 技术内幕 (第5章 联接与集合操作)
    赋值语句作为判断的条件
    发布订阅模式和观察者模式
    关系代数
    数据库关系代数表达式学习
    软考通过分数
    哈希表——线性探测法、链地址法、查找成功、查找不成功的平均长度
  • 原文地址:https://www.cnblogs.com/canglongdao/p/12683164.html
Copyright © 2011-2022 走看看