我正在尝试运行此脚本,但出现错误。
echo "Enter version code"
read versionCode
if [ "$versionCode" eq ^[0-9]+$ ]; then
echo integer
elif ![ "$versionCode" eq ^[0-9]+$ ]; then
echo "Sorry integers only"
echo $versionCode
sudo sed "s/\(versionCode[[:space:]]*\)[0-9]*/\1${versionCode}/" Version.gradle
我遇到此错误,但我从未在任何地方使用过v。请运行命令后再进行此操作
sed --posix -e version.sed
sed: -e expression #1, char 1: unknown command: `v'
更新:
echo "Enter version code"
read versionCode
if [[ "$versionCode" =~ ^[0-9]+$ ]]; then
echo integer
fi
echo $versionCode
sudo sed 's/\(versionCode[[:space:]]*\)[0-9]*/\1${versionCode}/' Version.gradle
[[ … =~ … ]]
代替[ … eq … ]
。fi
与if
对应的位置在哪里?elif
中的错误结果实际上是错误的,为什么使用if
?只需使用else
。versionCode
的内容。但是我首先要更正所有其他问题,并确保在调用Sed之前一切正常,然后再担心Sed的问题。