shell报错bad substitution 解决办法

2023-05-16

#!/bin/bash
a="hello"
b="hi is $a"
echo $b
echo ${#a}
echo ${a}
echo ${a:1:2}

执行脚本方式不同出现的结果不同:

方式1:

sh shell.sh

hi is hello
5
hello
shell.sh: 7: shell.sh: Bad substitution

方式2:赋予shell.sh文件可执行权限,

./shell.sh

hi is hello
5
hello
el

方式3:bash shell.shhi is hello
5
hello
el

核心是要用/bin/bash

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

shell报错bad substitution 解决办法 的相关文章

  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 使用 Jenkins 运行 ios-sim

    我正在尝试使用以下命令从命令行启动我的应用程序ios sim https github com downloads pegli ios sim ios sim xcode4 3 tar gz但这就是我得到的 Started by user
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 在 Fish Shell 中设置导出

    我安装了多个版本的 PHP 对于我的正常开发 我总是使用通过自制程序安装的 PHP 5 5 x 在鱼壳里 which php php version gt usr local bin php gt PHP 5 5 8 cli built J
  • bash 变量中的 Linux 鞭尾/对话框参数错误

    有人可以解释为什么下面的代码不起作用吗 我要疯狂地想找出答案 bin bash TEST M1 1 wire Interface ON echo TEST RESULT dialog title Config Modules State c
  • awk: hping: 打印 icmp 发起/接收之间的差异

    我有以下输出hping http ports su net hping在 OpenBSD 上 hping icmp ts www openbsd org HPING www openbsd org re0 129 128 5 194 icm
  • 仅当重复行与模式匹配时才删除它们

    这个问题 https stackoverflow com questions 1444406 how can i delete duplicate lines in a file in unix有一个很好的答案说你可以使用awk seen
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • ReferenceError:MongoDB shell 中未定义 require

    我尝试通过 Windows 命令 Windows 8 1 从 Mongo 客户端连接 MongoDB 当我使用require 在 javascript 中 我遇到如下错误 有人有同样的问题吗 我有错过任何一个吗require有关的npm安装
  • 如何在递归调用函数时阻止 bash 创建子 shell

    这是一个计算阶乘的简单 shell 函数 bin bash function factorial if 1 lt 2 then echo 1 else echo 1 factorial 1 1 fi factorial 1 但我发现这个脚本
  • shell脚本中的\r字符

    我在尝试执行 shell 脚本时收到以下错误 r command not found line 2 请提出同样的解决方案 以下是脚本中使用的初始行 bin sh if lt 1 then echo ERROR Environment arg
  • C程序调用shell脚本

    我有一个小型 C 程序 调用 shell 脚本 myScript sh 我得到的 ret 值为 256 请帮助我了解系统调用出了什么问题 int main int ret ret system myScript sh ret gt gt r
  • if [ -z "${FILE_LIST}" ] 中的 -z 是什么

    遇到了这个 什么是 z在 shell 脚本中if z FILE LIST 是相同的test And man test gives z STRING the length of STRING is zero 注意 在某些平台上 是一个符号链接
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • 如何以管理员身份在 rake 任务中运行 shell 命令?

    我有一个简短的 cmd 文件 我想将其作为部署过程的一部分运行 不幸的是 cmd 文件需要管理员权限 是否可以从 rake 中获得管理员权限 或者我是否需要以管理员身份启动 shell 您可以尝试runas http ss64 com nt
  • 如何通过保持目录结构完整来同步路径中匹配模式的文件?

    我想将所有文件从服务器 A 复制到服务器 B 这些文件在不同级别的文件系统层次结构中具有相同的父目录名称 例如 var lib data sub1 sub2 commonname filetobecopied foo var lib dat
  • 分叉/多线程进程|重击

    我想让我的代码的一部分更加高效 我正在考虑让它分叉成多个进程 并让它们一次执行 50 100 次 而不是只执行一次 例如 伪 for line in file do foo foo2 foo3 done 我希望这个 for 循环运行多次 我
  • shell-out 值到 md5(加密)函数

    我正在寻找一种解决方案 我正在构建 JSON 记录 并需要在 JQ 中生成一些文本 但将此文本通过管道传输到 MD5 求和函数并将其用作键的值 echo first John last Big jq id first last md5 通过
  • 通过 sed 使用 unix 变量将数据附加到每行末尾[重复]

    这个问题在这里已经有答案了 我有一个文件 我想使用 SED 将值附加到每行末尾的 unix 变量中 我已经通过 AWK 实现了这一点 但我想在 SED 中实现 像这样的东西 我已经尝试过以下命令 但它不起作用 sed i s BATCH R
  • sh / Bash shell 脚本中 !# (bang-pound) 的含义是什么?

    我想了解这个 Scala 脚本是如何工作的 usr bin env bash exec scala 0 object HelloWorld def main args Array String println Hello world arg

随机推荐

  • C++流概述

    C 43 43 流概述 在程序设计中 xff0c 数据输入 输出 xff08 I O xff09 操作是必不可少的 xff0c C 43 43 语言的数据输入 输出操作是通过I O流库来实现的 C 43 43 中把数据之间的传输操作称为流
  • kNN(K-Nearest Neighbor)最邻近规则分类

    K最近邻分类算法 方法的思路 xff1a 如果一个样本在特征空间中的k个最相似 xff08 即特征空间中最邻近 xff09 的样本中的大多数属于这一类别 xff0c 则该样本也属于这个类别 KNN算法中 xff0c 所选择的邻居都是已经正确
  • SPOOLING技术

    SPOOLING技术 xff08 Simultaneous Peripheral Operating On Line 同时联机外围操作技术 xff0c 它是关于慢速字符设备 如何与计算机主机进行数据交换 的一种技术 xff0c 通常又称 假
  • Belady现象

    Belady现象 采用FIFO算法时 xff0c 如果对 个进程未分配它所要求的全部页面 xff0c 有时就会出现分配的页面数增多但缺页率反而提高的异常现象 Belady现象的描述 xff1a 一个进程P要访问M个页 OS分配N N lt
  • 计算结构体的字节数

    结构体中的成员可以是不同的数据类型 xff0c 成员按照定义时的顺序依次存储在连续的内存空间 和数组不一样的是 xff0c 结构体的大小不是所有成员大小简单的相加 xff0c 需要考虑到系统在存储结构体变量时的地址对齐问题 看下面这样的一个
  • 轻松搞定面试中的二叉树题目

    版权所有 xff0c 转载请注明出处 xff0c 谢谢 xff01 http blog csdn net walkinginthewind article details 7518888 树是一种比较重要的数据结构 xff0c 尤其是二叉树
  • 使用Anaconda Navigator无法成功创建虚拟环境问题的解决方案

    1 问题描述 使用anaconda Navigator创建虚拟环境时 xff0c 配置初始名称以及python版本 xff0c Fetching各种包成功后 xff0c 开始loading各种包的过程中闪过cmd黑色窗口 xff0c 然后左
  • QT 后台处理时间过长 主界面卡死解决办法

    之前用WPF开发 xff0c 处理逻辑就是1 xff0c 处理前显示等待窗口 xff0c 2 同步处理改未异步 xff0c 3 处理完毕后关闭等待窗口 Qt应该也是类似的处理逻辑 xff1a 一 创建等待处理窗口 xff08 采用了QMoi
  • 一圈n个人,1-3循环报数,报道3的退出,最后剩下的是几号

    import java util ArrayList import java util List import java util Scanner public class CirCle public static void main St
  • GCD【洛谷P2568】(小左的GCD)

    题目描述 给定整数N xff0c 求1 lt 61 x y lt 61 N且Gcd x y 为素数的数对 x y 有多少对 输入格式 一个整数N 输出格式 答案 输入输出样例 输入 1 复制 4 输出 1 复制 4 说明 提示 对于样例 2
  • C++中的weak_ptr深入解析

    引言 在C 43 43 的智能指针家族中 xff0c weak ptr是一种非常实用且独特的成员 它主要用于解决循环引用问题 xff0c 从而避免内存泄漏 在本文中 xff0c 我们将详细讨论weak ptr的基本概念 功能和应用场景 xf
  • 【Redis】解决WARNING overcommit_memory is set to 0 Background save may fail under low memory condition.

    问题说明 不管是linux直装 xff0c 还是在docker环境中 xff0c 启动redis时 xff0c 报如下错误 WARNING overcommit memory is set to 0 Background save may
  • 运动跟踪算法CMT(续)之层次凝聚聚类算法(HAC)

    熟悉CMT的都知道 xff0c 作者在聚类部分使用了层次凝聚聚类算法 xff08 Hierarchical Agglomerative Clustering xff09 并且使用的是单链 xff08 Single link xff09 xf
  • 使用mysql8.x版本设置远程连接

    主要步骤 xff0c 注意 xff1a 自mysql8 x版本 xff0c 密码的加密方式改为caching sha2 password 登录mysql账号修改root用户登录地址修改root用户密码加密方式 usr local mysql
  • jenkins基础配置之四:读取本地文件

    需要安装的插件 Extended Choice Parameter Plug span class token operator span In span class token operator span External Monitor
  • 初识Btrfs文件系统

    Btrfs 也有一个重要的缺点 xff0c 当 BTree 中某个节点出现错误时 xff0c 文件系统将失去该节点之下的所有的文件信息 而 ext2 3 却避免了这种被称为 错误扩散 的问题 Btrfs相关介绍 xff1a Btrfs 是一
  • 服务器使用笔记本网络连接外网

    由于服务器经常部署在机房 xff0c 并没有外网 xff0c 连不上外网 需要使用自己笔记本的网络供服务器使用 笔记本连接手机热点 xff0c 再分享给服务器 一 首先 xff0c 需要把服务器和笔记本连接到同一网络内 xff0c 可以选择
  • grafana接入openldap认证

    首先两个文件开启ldap的支持 文件1 xff1a etc grafana grafana ini auth ldap enabled 61 true config file 61 etc grafana ldap toml allow s
  • Wireshark的常见提示

    概述 本文主要介绍Wireshark中出现的一些常见提示 详细信息 Wireshark简介 Gerald Combs是堪萨斯城密苏里大学计算机科学专业的毕业生 1998年发布了第一版Ethereal工具 xff0c Ethereal工具使用
  • shell报错bad substitution 解决办法

    bin bash a 61 34 hello 34 b 61 34 hi is a 34 echo b echo a echo a echo a 1 2 执行脚本方式不同出现的结果不同 xff1a 方式1 xff1a sh shell sh