bash - 检查 bash 脚本的第一行,如果 # 可用则跳过该脚本
问题描述
我想检查脚本的第一行,如果第一行是 # 脚本不应该运行我想出了这个,不确定它是否正确的语法和登录 p=cat -n1 /tmp/abc | awk '{print $1} if [ $p = "#" ]; 然后退出 0 fi
解决方案
要将程序的输出分配给您使用的变量variable$(command)
。
但是你不需要像awk
获取文件的第一行那样执行程序,只需使用
read -r p </tmp/abc
您的awk
命令正在返回每一行的第一个字段,而不仅仅是第一行。
您应该始终将变量放在引号中,除非您确定需要允许结果的分词和/或通配符扩展。由于文件的第一行可能包含空格,因此这在您的脚本中很重要。
read -r p </tmp/abc
if [ "$p" = "#" ]
then exit 0
fi
你也可以使用
将文件的第一行读入一个变量。
推荐阅读
- python - Python 文件类型关联不会从命令提示符更改
- nestjs - NestJS with TypeORM:使用自定义存储库时,是否需要服务?
- python - 尝试使用 slackclient 和 python 2.7 时获取 CERTIFICATE_VERIFY_FAILED
- javascript - 如何使响应式 iframe 谷歌地图全屏
- php - .htaccess 重写相互抵消......有什么想法吗?
- javafx - 如何在 SplitPane 中对齐 VBox
- javascript - 单击链接时禁用默认锚点跳转
- python - sqlite3.OperationalError)没有这样的表 - 带有 Huey 任务队列的烧瓶
- bash - 在解析操作系统路径的 bash 脚本中动态分配变量
- sql - 将查询结果导出到 Json