写nginx自动编译安装脚本时,运行以下代码报错,看下是什么原因,怎么解决? nginxConfig="--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'" ./configure ${nginxConfig} 报错信息为: ./configure: error: invalid option "-Wl,-z,now" 你之前的分析明显有误,根据报错信息可以推断,在--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'中,由于空格系统将-Wl,-z,now单独解析出来了,原本他们应该是一个整体的,该怎么解决?
时间: 2024-03-12 12:44:12 浏览: 22
非常抱歉,我的之前的回答还是有误。根据你提供的报错信息,实际上是由于 nginxConfig 参数中的引号嵌套问题导致的。正确的 nginxConfig 参数应该是这样的:
```
nginxConfig="--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'"
```
也就是说,将 `-Wl,-z,relro -Wl,-z,now -pie` 这个参数用单引号包裹起来,再将整个参数用双引号包裹起来,这样就避免了引号嵌套的问题。重新运行脚本,应该就不会报错了。
相关问题
linux编译安装时编译参数中的参数值中空格有哪些可以怎么解决? 比如安装nginx的参数--with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie',可以像如此加单引号解决,除了加引号还有另外的解决方法吗?
除了加引号之外,还有一种方法是使用反斜杠 `\` 将空格转义,例如:
```
--with-ld-opt=-Wl,-z,relro\ -Wl,-z,now\ -pie
```
这样就可以避免参数值中空格被系统解析错误的问题。不过,使用引号的方式更为常见,也更为直观。而且,如果参数比较复杂,使用引号可以更加方便地进行组合。
kubectl create deployment nginx --image=nginx --replicas=1报错unknown replicas
这个错误提示是因为在 Kubernetes 版本 1.18 之后,kubectl 命令中的 --replicas 选项已经被弃用了。
正确的方式是使用 kubectl scale 命令来扩缩容副本数量。例如,要将 nginx 部署的副本数量扩展到 3 个,可以使用以下命令:
```
kubectl scale deployment nginx --replicas=3
```
如果想要创建一个新的部署,并指定副本数量,可以使用以下命令:
```
kubectl create deployment nginx --image=nginx --replicas=3
```
但是需要注意的是,这种方式创建的部署会使用默认的 RollingUpdate 策略,即逐步更新副本数量,而不是一次性更新。如果想要一次性更新副本数量,可以在创建部署时指定 --strategy=Type=Recreate 选项,例如:
```
kubectl create deployment nginx --image=nginx --replicas=3 --strategy=Type=Recreate
```