如何修复sed中的错误unkonwn命令v

问题描述 投票:-1回答:1

我正在尝试运行此脚本,但出现错误。

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
shell sed syntax
1个回答
0
投票
  • 使用[[ … =~ … ]]代替[ … eq … ]
  • fiif对应的位置在哪里?
  • 如果您仅检查elif中的错误结果实际上是错误的,为什么使用if?只需使用else
  • 错误可能是由于versionCode的内容。

但是我首先要更正所有其他问题,并确保在调用Sed之前一切正常,然后再担心Sed的问题。

© www.soinside.com 2019 - 2024. All rights reserved.