gpt4 book ai didi

linux - echo - 语法错误 : Bad substitution

转载 作者:IT王子 更新时间:2023-10-29 00:12:00 26 4
gpt4 key购买 nike

有问题的脚本:

  1 #!/bin/bash
2
3 skl="test"
4 # get length
5 leng=$(expr length $skl)
6 # get desired length
7 leng=$(expr 22 - $leng)
8
9 # get desired string
10 str=$(printf "%${leng}s" "-")
11
12 # replace empty spaces
13 str=$(echo "${str// /-}")
14
15 # output
16 echo "$str obd: $skl $str"
17

但它输出:

name.sh: 13: Syntax error: Bad substitution

求助,谢谢我将不胜感激:)

最佳答案

下面一行:

str=$(echo "${str// /-}")

导致 Syntax error: Bad substitution 因为您没有使用bash 执行您的脚本。您正在使用导致错误的 shdash 执行脚本。


编辑:为了修复您的脚本,使其能够与 shdash 以及 bash ,您可以替换以下行:

# get desired string
str=$(printf "%${leng}s" "-")

# replace empty spaces
str=$(echo "${str// /-}")

str=$(printf '=%.0s' $(seq $leng) | tr '=' '-')

关于linux - echo - 语法错误 : Bad substitution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20323738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com