shell脚本-1

2023-11-05

0.狂降

  • 变量:1.标识符 2.数据类型
  • 运算符:让多个变量产生关系
  • 逻辑语句:1.顺序 2.分支 3.循环
  • 方法/函数:将实现某一功能的代码封装

1.变量

  • 定义变量时,变量名不加$
  • 基本都当成文本处理
-bash-4.2$ a=10
-bash-4.2$ b=20
-bash-4.2$ echo $a+$b
10+20

 2.shell字符串

  • 单引号:任何字符串都会原样输出,变量无效
  • 双引号:可以有变量以及转义字符
-bash-4.2$ name=haha
-bash-4.2$ echo $name
haha
-bash-4.2$ name2='xixi'
-bash-4.2$ echo $name2
xixi
-bash-4.2$ name3="heihei"
-bash-4.2$ echo $name3
heihei
-bash-4.2$ name4=$name 111
bash: 111: command not found...
-bash-4.2$ name4='$name 111'
-bash-4.2$ echo $name4
$name 111
-bash-4.2$ name5="$name 222"
-bash-4.2$ echo $name5
haha 222
  • #:计算字符串长度(必须是${#字符串名})
-bash-4.2$ echo #$name5

-bash-4.2$ echo #{$name5}

-bash-4.2$ echo ${#name5}
8
  • echo ${字符串名:N:M} 截取字符串N-M位
-bash-4.2$ echo ${name5:3:7}
a 222

 3.shell数组

  • 数组的优点在于可以随机访问,链表的优势在于删减方便
  • bash支持一维数组但不支持多维,没有限定数组的大小
  • 数组定义用(),元素用空格符号分开
  • 读取数组${数组名[下标]}
  • 读取全部数组元素${数组名[@]}
  • 获取数组长度还是用# ${#数组名[@]}
-bash-4.2$ s=(a b c d)
-bash-4.2$ echo ${s[2]}
c
-bash-4.2$ echo ${s[*]}
a b c d
-bash-4.2$ echo ${s[@]}
a b c d
-bash-4.2$ echo ${#s[*]}
4

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell脚本-1 的相关文章

  • 如何在shell脚本中读取单个字符

    我想要类似的选项getche 如何从命令行读取单个字符输入 Using read命令我们可以做到吗 在巴什中 read可以做到 read n1 ans
  • Perforce:从命令行“从工作区中删除”?

    The p4v Perforce GUI 客户端 http www perforce com perforce products p4v html具有 操作 gt 从工作空间中删除 菜单命令 该命令可从工作空间中删除受版本控制且未打开进行编
  • MongoDB - 编辑器变量 - MongoDB shell - Windows 7

    EDITOR 变量功能真的可以在 Windows 7 上使用吗 我正在读一篇文章 说一旦我们设置了 EDITOR 变量在 mongorc js 中 我们只需在 shell 中输入 编辑变量名 and var name将被加载到编辑器中 在我
  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 使用 shell=True 将 PATH 设置为 bitbake 的“source”在 Python 中没有效果

    下面是shell脚本中的代码 source proj common tools repo etc profile d repo sh repo project init branch repo project sync source pok
  • Bash 中所有匹配的^单词^替换^?

    为了澄清 我正在寻找一种方法来执行global搜索并替换先前使用的命令 word replacement 似乎只替换了第一场比赛 有没有一些set我无法选择的选项 尝试这个 echo oneone oneone gs one two Rep
  • 关键字“if”如何测试一个值是真还是假?

    在 bash 脚本中 if 1 then echo Yes else echo No fi Output Yes 它表示 1 被视为真值 但在代码中 word Linux letter nuxi if echo word grep q le
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任
  • 如何从 LaTeX 执行 shell 脚本?

    我正在尝试在 LaTeX 中执行以下操作 documentclass article begin document execute usr local bin my shell script sh end document 想法是执行 us
  • Django管理命令是在单独的进程中执行的吗?

    Django 有很多管理命令 此外 我们还可以编写自己的命令 进行 shell 调用后会发生什么python manage py XXX 代码是否会在从 shell 启动的进程中执行 或者 shell 进程只是与执行命令的主 Django
  • 如何用awk删除以“C”开头的行?

    如何使用以下命令从文本文件中删除以 C 开头的行awk 有什么建议请 如果数据在文件中data txt then With awk awk C data txt With grep grep v C data txt 显示开头不带 C 的所
  • 为使用 SSH.NET SshClient.CreateShellStream 执行的命令 (sudo/su) 提供子命令

    我正在尝试使用 Renci SSH NET 从 C Web 应用程序连接到远程 Linux 服务器并执行 shell 脚本 我想一个接一个地运行脚本 但不知道如何运行脚本并读取输出并将其存储在标签中 我已经尝试了下面的代码 但无法一行接一行
  • [A-Z] 表示 [A-Za-z] 是怎么回事?

    我已经注意到 至少在我使用的一些基于 Unix 的系统上 ls A Z 已经给了我预期的结果ls A Za z 让我无法轻松获得以大写字母开头的该死的文件列表 我刚刚遇到了同样的事情grep 我无法让它停止与小写字母匹配 A Z 直到我最终
  • 使用简单数据结构在 Bash 脚本中进行深度优先搜索

    我正在尝试按照上面所述进行操作 我相对容易地设计了广度优先搜索 该脚本的目标是创建用户输入的具有一定深度和广度的目录结构 我正在尝试改变广度优先实现以支持深度优先搜索 这是我得到的 depthsearch local open seed l
  • 如何找到进程启动时使用的原始用户名?

    有一个 perl 脚本需要以 root 身份运行 但我们必须确保运行该脚本的用户最初没有以用户 foo 身份登录 因为它将在脚本运行期间被删除 那么 我如何查明自登录以来可能已多次起诉的用户是否在该链中的任何时间都没有模拟过 foo 我发现
  • Bash 循环遍历具有行和列的变量

    经过几个小时的搜索测试不同的解决方案后 我尚未找到可行的解决方案 Bash 和 Shell 脚本不是我的强项 我有一个变量 其中有行 换行 和列 制表符分隔 我想要做的是循环遍历行并获取 Column X 然后将该项目放入变量中 以便我可以

随机推荐

  • 火爆!用GPT接入midjounery绘图

    先看效果图吧 画了一只狗 gpt next web这个项目接入mj绘图 需要登录进入midjounery api网站后 复制一下api token key 3 网上找下GPT Next这个项目 建议电脑 手机有时候不显示图片 按照下方图示
  • 软件质量模型的六大特性和27个子特性

    软件质量模型的六大特性和27个子特性如下 ISO IEC9123软件质量特性 图示 一 功能性 1 适合性 解释软件产品是否提供了相应的功能 2 准确性 软件提供的功能是否正确 用户需要的 即解释软件对不对 3 互操作性 产品与产品之间交互
  • SQL优化(二):根据工具来SQL优化

    前一章节 讲的是explain的使用以及他结果的解析 实际上工具远远不止explain一个 还有慢查询 SHOW PROFILE这些 而且光读工具的说明书也不行 还要实际的根据工具返回的结果找到原因 根据实际情况是物理宿主机配置太低了要升级
  • Netty4详解三:Netty架构设计

    读完这一章 我们基本上可以了解到Netty所有重要的组件 对Netty有一个全面的认识 这对下一步深入学习Netty是十分重要的 而学完这一章 我们其实已经可以用Netty解决一些常规的问题了 一 先纵览一下Netty 看看Netty都有哪
  • 关于linux内核学习的误区以及相关书籍介绍

    第一篇 先说句正经的 其实我没资格写这篇文章 因为自己也就一两个月以来才开始有所领悟的 因此 这里与其说是关于linux内核学习的经验 不如说是自己的教训吧 希望不要扔鸡蛋砸我 常常有人问 我想学习内核 需要什么基础吗 linus torv
  • uni微信小程序,打开地图,跳转第三方

    一 需求 微信小程序 需要点击并跳转第三方地图软件导航 并计算到目标位置距离 二 思路 思路 1 接口返回需要有位置的经纬度 这个自行在后台编辑获取 2 需要获取用户的位置权限 我这边使用的是uniapp 需要使用官方封装两个接口 主要是用
  • 华为OD机试2023 最新最全备考攻略助你轻松上岸

    华为OD机试真题 2022 2023 真题目录 点这里 华为OD机试真题 信号发射和接收 试读 点这里 华为OD机试真题 租车骑绿道 试读 点这里 什么是华为OD 华为OD是Outsourcing Dispacth模式 是华为和外企德科联合
  • ubuntu系统火狐浏览器上网解决方法

    打开终端 sudo apt get update sudo apt get install firefox
  • VSCode本地代码同步服务器教程(已解决本地同步删除服务器端)

    1 安装插件 SFTP 2 1 在本地新建一个文件夹用来放项目 并且用vscode打开这个文件夹然后进行后续操作 2 2 在VSCode中打开命令栏 快捷键Shift Ctrl P 搜索SFTP 然后选择自己刚才创建的文件夹 3 选择SFT
  • 虚拟机和主机文件共享的四种方法

    第一种方法 使用虚拟机自带的共享功能 1 在vmware里VM gt 设置 gt options选项卡 gt shared folder 添加共享文件 具体如下图所示 2 然后到 mnt hgfs下可以找到共享的文件了 cd mnt hgf
  • 一些计算机词汇的简单解说

    fork zombie unix 中有个系统调用 叫做 fork 这个名字起得很有意思 两个fork 叉子 本来放在一起 跟着左右手各拿起一只 含着一分为二的意思 unix 中 fork 的作用就是创建了一个新的进程 和原来的进程是一模一样
  • java的基础知识-第四十篇-java中 =与==、&与&&、

    与 属于赋值运算符 将右侧的值赋给左侧的变量名称 属于关系运算符 判断左右两边的值是否相等 结果为boolear类型 与 是逻辑与 是短路与 都属于逻辑运算符 都表示并且执行结果都相同 当使用短路与 并且第一个条件为false时 则结果直接
  • linux系统时钟使用utc,linux时钟概念CST与UTC、以及NTP简单设置

    1 世界协调时间 Universal Time Coordinated UTC GPS 系统中有两种时间区分 一为UTC 另一为LT 地方时 两者的区别为时区不同 UTC就是0时区的时间 地方时为本地时间 如北京为早上八点 东八区 UTC时
  • 【PostgreSQL】行变列、非空(CASE WHEN、COALESCE)语句总结

    1 源表结构 order id class count 111101100002 3 0 111101100012 1 3 11110112002 1 2 111101100202 2 0 2 目标表结构 根据order id分组 根据不同
  • ubuntu执行编译命令提示"No such file or directory"

    uname a 查看系统是32位或64位 若是64位可能没有安装32位库 安装32位lib库 sudo apt get install nautilus open terminal bison zlib1g dev doxygen libx
  • 找不到vcruntime140.dll,无法继续执行代码?多种解决方法解析

    找不到vcruntime140 dll 无法继续执行代码 当你在尝试运行某个程序时 突然弹出一条错误提示框 告诉你无法继续执行代码 因为找不到vcruntime140 dll 这个问题很常见 但是它可能会让你感到困惑和疑惑 这篇文章将详细介
  • C# 定时器轮询 设计思路

    C 定时器设计过程的记录 在Windows 系统上 C 常用定时器有三种 而最高进度的定时器误差 58ms 则个误差数字无法应用 16ms 级别的定时轮询 但还有另外的高精度定时器 这不是还有其他方法吗 对有的 空转也指的是直接让线程一只空
  • 设计模式之中介者模式

    介绍 在现实生活中 常常会出现好多对象之间存在复杂的交互关系 这种交互关系常常是 网状结构 它要求每个对象都必须知道它需要交互的对象 例如 每个人必须记住他 她 所有朋友的电话 而且 朋友中如果有人的电话修改了 他 她 必须让其他所有的朋友
  • html textarea文本域高度自适应

    1 可直接在 菜鸟教程网站测试页面中测试
  • shell脚本-1

    0 狂降 变量 1 标识符 2 数据类型 运算符 让多个变量产生关系 逻辑语句 1 顺序 2 分支 3 循环 方法 函数 将实现某一功能的代码封装 1 变量 定义变量时 变量名不加 基本都当成文本处理 bash 4 2 a 10 bash