外壳脚本错误的重新扩展



我正在尝试编写shell脚本(sh(,我得到以下错误

变量 i 包含:

test.txt

法典:

echo "${i/.txt/}"

错误:

just.sh: 16: just.sh: Bad substitution

预期输出字符串:

text

重现步骤

创建文件:

touch text.txt

使用任何编辑器创建文件 test.sh 内容

法典:

#!/bin/sh
for i in `find *.txt`
do
echo "$i"
echo "${i/.txt/}"
done

如何运行:

sh test.sh 

sh不是bash。首先将你的 shebang(第一行(固定为#!/bin/bash

引用

  • sh和bash的区别,在线程中搜索"扩展"

    Bash 具有丰富的扩展非标准参数扩展,如${substring:1:2}${variable/pattern/replacement}、大小写转换等。

最新更新