如何在运维过程中对Shell内建命令

发布时间 - 2018-09-17 00:00:00    点击率:

   本篇文章给大家带来的内容是关于如何在运维过程中对Shell内建命令,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

:命令

  一般格式为: :
  这实际上是一个空命令。同常用来满足必须有命令出现的需求。

if who | grep jack > /dev/null ;then
    :else
    echo "jack is not logged in"fi

  :命令会返回为0的退出状态

.命令

  一般格式 . file
  .命令会使Shell文件读取并执行指定的文件,就好像将文件中的命令直接输入一样。注意:file并不是非得可执行的,只要可读就行了。另外,Shell使用path变量查找file。

.progdefs

  执行progdefs中的命令,file并不是在子Shell中执行的,当file中的命令执行完毕之后,其中所设置及修改的变量依然有效。

alias命令

  一般格式:

alias name=string   [name=string...]


  alias命令会将string分配给别名name。当name用作命令时,Shell会将其替换为string,然后执行命令行替换。(=前后不能有空格)
  下列格式:

alias name 

  会打印出name的别名,不使用参数的alias会列出所有的别名,alias会返回为0的退出状态码,除非给出的name没有别名。

bg命令

一般格式:

bg job_id

  如果启用了作业控制,有job_id标识的作业会被置入后台,如果没有给出参数,则会将最近挂起的作业置入

break命令

  一般格式:

break

  break命令会立即终止最内的for、while和until循环。程序接着从循环之后的命令继续执行。
如果使用格式:

break n

  内部第n层的循环自动被终止。

case命令

一般格式:

case value in
         pat1) command
               command
               ···               command;;
         pat2) command
               command
               ···               command;;
         pat3) command
               command
               ···               command;;
    esac

  value会连续的和pat1、*可以匹配任何内容,通常出现在case中的最后一个模式以作为默认,或者作为万能条件。
  在匹配模式中,可以使用Shell的元字符(*,?,[…]);字符|可以指定两种模式之间的”逻辑或”关系,例如:
  pat1|pat2   表示pat1或pat2

cd命令

一般格式:

cd directory

  该命令会使Shell将dircetory作为当前目录,如果忽略目录,Shell会将HOME变量中保存的目录设为当前目录。
  如果Shell变量CDPATH为空,directory必须是一个完整的目录路径或当前目录的相对路径。
  如果CDPATH不为空且directory并非完整路径,Shell会在CDPATH所保存的一系列由冒号分隔的目录中查找包含directory的目录。
  示例:

cd documents/memos      //切换到documents的memos目录cd                      //切换到HOME目录

  cd命令会将Shell变量PWD设置成新的当前目录,将OLDPWD设置成上一个目录

continue命令

  在for,while或until循环中执行该命令跳过循环中continue之后的语句,然后执行下一次循环>。
  如果使用格式:

continue n

  会跳过最内的第n层循环中剩下的语句,然后执行下一次循环。

echo命令

  一般格式:

echo args

  该命令会将args写入标准输出。args中每个单词之间由空格符分隔。在最后的会加上一个换行符。如果忽略args,结果就是往下跳一行。

eval命令

  一般格式:

eval args

  该命令会是Shell对args求值,然后执行求值结果,这实际上可以实现对命令行的二次扫描。
  示例:

x='abc def'y='$x'echo $yxeval echo $yabc def

exec命令

  一般格式:

exec command args

  该命令会执行指定的command,并将args作为参数,和其他命令不同,command会替换当前进程(也就是说并不会创建新的进程)执行command之后,就不会再返回调用exec程序了。
  如果只指定了I/O重定向,就会更改Shell的输入或输出。
  示例:

exec /bin/sh             使用sh替换当前进程

exit命令

  一般格式:exit n
  该命令会立即终止当前Shell程序,该程序的退出状态码是整数n的值,如果没有使用n,则使用exit命令之前那条命令的退出状态码。
  注意,直接在登录Shell中执行exit,其效果相当于登出系统。

export命令

  一般格式:

export variables

  该命令可以导出指定的变量,也就是说,这些变量的值会被传入到子Shell

false命令

  一般格式:

false

   该命令会返回非0的退出状态码

fc命令

  一般格式:

fc -e editor -lnr first lastfc -s old=new first

  该命令可用于编辑命令历史记录中的命令。可以指定从first到last的命令范围,first和last可以是命令编号或字符串,其中负数被视为相对于当前命令编号的偏移量,而字符串指定了以该字符串起始的最近的那条命令。命令会被读入编辑器,然后在退出编辑器时执行,如果没有指定编辑器,就用Shell变量的FCEDIT的值,如果没有设置FEDCIT,就使用ed。
  -1选项可以列出范围在first和last之间的命令(也就是说不调用编辑器)。如果选择了-n选项,这些命令前面不会出现命令编号。
  -r选项会颠倒命令出现的次序。
  如果没有指定last,则默认使用first的值。如果也没有指定first,默认编辑上一条命令,列出前16条命令。
  -s选项会执行选中的命令,无需事先编辑。

fg命令

  一般格式:

fg job_id

  如果启用了作业控制,由job_id指定的作业被带回前台,如果没有指定参数,将最近挂起的作业或者最近置入后台的作业带回前台。

jobs命令

  该命令会打印当前活跃的作业的列表,如果指定了-l选项,还会列出没想作业的详细信息(包括其进程和ID)如果指定了-p选型,则只会列出进程ID
  如果提供了可选的作业的id,只列出指定作业的详细信息。


# linux  # echo  # String  # for  # while  # Directory  # break  # continue  # 字符串  # 循环  # 如果没有  # 会将  # 编辑器  # 是一个  # 会使  # 那条  # 命令行  # 跳过  # 切换到  # 为空 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  ,怎么在广州志愿者网站注册?  微信推文制作网站有哪些,怎么做微信推文,急?  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Laravel如何实现多对多模型关联?(Eloquent教程)  如何自定义建站之星模板颜色并下载新样式?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  如何挑选最适合建站的高性能VPS主机?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  如何在企业微信快速生成手机电脑官网?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何在腾讯云服务器上快速搭建个人网站?  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel中的Facade(门面)到底是什么原理  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  如何快速配置高效服务器建站软件?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  Python并发异常传播_错误处理解析【教程】  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Python函数文档自动校验_规范解析【教程】  如何在阿里云虚拟主机上快速搭建个人网站?  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  轻松掌握MySQL函数中的last_insert_id()  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  潮流网站制作头像软件下载,适合母子的网名有哪些?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  原生JS实现图片轮播切换效果  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  如何彻底删除建站之星生成的Banner?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  EditPlus中的正则表达式实战(5)  长沙做网站要多少钱,长沙国安网络怎么样?  Laravel distinct去重查询_Laravel Eloquent去重方法  如何在IIS管理器中快速创建并配置网站?  EditPlus中的正则表达式 实战(1)  Angular 表单中正确绑定输入值以确保提交与验证正常工作  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel如何使用Sanctum进行API认证?(SPA实战)  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?