当前位置: 首页 > news >正文

shell 脚本命令

编写 Shell 脚本的过程

  1. 创建脚本文件

    • vi 文件名.sh
    • 在文件的第一行必须指定解释器:#!/bin/bash
  2. 提升权限

    • 新创建的 .sh 文件默认权限通常是 664 (-rw-rw-r--),没有可执行权限(x)。
    • 使用 chmod 命令添加可执行权限:
      • chmod 777 文件名.sh (赋予所有用户读、写、执行权限)
      • 或更安全的方式:chmod u+x 文件名.sh (仅赋予文件所有者执行权限)
  3. 运行脚本

    • ./文件名.sh (使用路径方式执行)

Shell 编程关键点:

  • 定义变量
    • 变量名=值 (等号两边绝对不能有空格
    • a=10
    • name="hello"
  • 使用变量
    • echo $a (使用 $ 符号引用变量)
  • 输入变量
    • read a (从键盘读取输入,赋值给变量 a
  • 取消变量
    • unset a (取消变量 a 的定义,该命令的位置不影响其效果
  • 只读变量
    • readonly a (将变量 a 设置为只读,之后不能修改其值,也不能 unset
  • 预定义变量
    • echo $0 :打印当前执行的脚本文件名
    • echo $1 :打印执行脚本时传入的第一个参数
    • echo $@ :打印执行脚本时传入的所有参数
    • echo $# :打印执行脚本时传入的参数个数
  • 数学运算
    • 使用 expr 命令或 $(( )) 语法
    • expr 1 + 2运算符两边必须有空格
    • result=$((a + b))
  • 关系运算符(用于条件判断 [ ][[ ]] 中):
    • -eq (等于), -ne (不等于), -gt (大于), -lt (小于), -ge (大于等于), -le (小于等于)
  • 文件测试运算符(用于条件判断):
    • -x file :判断文件是否有可执行权限
    • -f file :判断是否为普通文件
    • -d file :判断是否为目录
  • 流程控制
    • if, while, for, case

编写 C 语言代码的过程

  1. 创建源代码文件

    • vi 文件名.c
  2. 编译代码

    • 使用 gcc (GNU Compiler Collection) 编译器将源代码编译成可执行文件。
    • gcc 文件名.c -o 输出的可执行文件名
    • 例如:gcc hello.c -o hello 会生成一个名为 hello 的可执行文件。
  3. 运行程序

    • 直接运行生成的可执行文件:./输出的可执行文件名
    • 例如:./hello

关键点

  • 编译后生成的可执行文件默认就具有可执行权限(通常是 775,即 -rwxrwxr-x),因此不需要像 Shell 脚本一样额外使用 chmod 命令来提升权限

总结对比

步骤 Shell 脚本 C 程序
1. 创建 vi 文件名.sh vi 文件名.c
2. 编译/授权 chmod +x 文件名.sh gcc 文件名.c -o 输出名
3. 运行 ./文件名.sh ./输出名

核心区别

  • Shell 是脚本语言,需要解释器直接执行源文件,因此源文件本身需要可执行权限。
  • C 是编译型语言,源代码需要先被编译器(gcc)翻译(编译和链接)成机器码,生成一个新的、独立的可执行文件。这个新的可执行文件天生就拥有执行权限。
http://www.sczhlp.com/news/27422/

相关文章:

  • 网站流量 钱个人免费推广网站
  • 万网做网站顺序seo关键词优化费用
  • 锦州网站建设北京seo不到首页不扣费
  • 网站做的比较好的公司如何做好口碑营销
  • 西宁手机网站建设windows优化大师的特点
  • 建筑模型西安seo管理
  • 建立一个网站需要多长时间seo店铺描述例子
  • 青岛市黄岛区城市建设局网站网络营销的主要手段和策略
  • wordpress修改页面样式表seo入门基础教程
  • Vue 将 json 数据 放ts文件中,读取
  • english study_
  • 模板索引:图论
  • asp.net core 全局捕获异常,返回一个统一的 JSON(包含错误信息和状态码)
  • px 和 rem已经过时?
  • 静态网站建设摘要品牌策略怎么写
  • 阿里云网站建设初衷百度一下手机版网页
  • 做网站需要营业执照吗海口百度seo公司
  • 泰安营销型网站建设公司一级域名二级域名三级域名的区别
  • 为workflow-core扩展外抛事件
  • doris的第三方依赖
  • AT_agc041_f [AGC041F] Histogram Rooks
  • Java Springboot监听事件和处理事件
  • Hysteria 2+NekoRay配置教程
  • 毕设代做有哪些靠谱网站优化大师怎么提交作业
  • 郑州做网站排名今日头条热点新闻
  • 大连住建部官方网站友链网
  • 厦门专门建设网站的公司网站产品推广
  • 手机图片网站源码竞价网站推广
  • 强的网站建设公更先进的seo服务
  • c语言软件开发和网站开发区别杭州seo 云优化科技