bash - bash脚本未执行
问题描述
无论如何,我是 Web 开发的新手,我正在尝试更多地使用和理解命令行。我一直不得不杀死在端口 3000 上运行的进程,因为每次我尝试重新启动它时,它都会显示“正在使用”。所以我一直不得不在命令行上写同样的两行来杀死它,我决定我想使用一个可执行的 bash 脚本来代替,这样可以节省时间。我制作了 bash 脚本,但我不知道它有什么问题。
#!/usr/bin/bash
x = sudo lsof -t -i:3000
sudo kill ${x}
echo "Complete"
那是脚本,错误是找不到第 3 行命令。谢谢你的帮助!
解决方案
- 用于赋值时,不要在等号周围放置空格。
- 双等比较的情况正好相反(必须有周围的空格)。
- 按照此语法从 存储
STDOUT
到lsof
变量中。 - 始终用双引号将变量引用括起来。
#!/usr/bin/bash
x="$( sudo lsof -t -i:3000 )"
sudo kill "${x}"
echo "Complete"
我没有尝试运行它。现在应该工作得更好。
推荐阅读
- sql - 在多对多关系中查找只有一个匹配的元组
- javascript - 为 Internet Explorer 跳过包含 d3.js
- freeradius - 关于windows的freeradius服务器的查询
- grass - 无法在 GRASS GIS 中打开 .gxw 文件
- html - html h1 文本隐藏在 div 下
- javascript - 关于lighterHTML中的if语句
- spring-boot - 优雅关机失败
- c# - 使用 MSBuild 发布构建时,程序集名称添加目录名称作为前缀
- angular - [ng-class]用一个条件添加多个类
- python - 如何让 selenium 不断重新加载页面直到找到正确的 class_name?