我正在尝试编写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}
、大小写转换等。