[shell]bad substitution
最近写一个shell脚本的时候遇到这样一个错误
#!/bin/sh
right=disk1
part=${right//[a-zA-Z]}
right=disk1
part=${right//[a-zA-Z]}
提示:
bad substitution
在命令行输入的时候,又是运行正确的。
查了下有人说把sh改为bash,发现问题解决。
#!/bin/bash
也就是不同的命令解释器的兼容问题,在ubuntu的shell下,实际上运行的是bash。而/bin/sh是到dash的软链接。
这就是为什么利用.sh脚本会产生错误,而shell命令行下不会。