17.3 命令行-POSIX特性、安装与分享

1. POSIX特性

在Linux和macOS系统中,大多数命令行工具都要求以推荐标准POSIX指定的方式传递命令行参数。

POSIX即UNIX可移植操作系统接口(Portable Operating System Interface of UNIX)是一套标准,旨在确保操作系统之间彼此兼容。

很多开发人员也希望自己编写的命令行程序能够与POSIX标准保持兼容。

虽然Go语言的flag包并没有遵循POSIX标准,但还是有一些兼容该标准的第三方替代品可供选择,其中之一就是pflag包,其使用方法与flag包几乎一样。

2. 安装与分享

当命令行程序编写好以后,还需要将其安装系统中,这样就可以在任何位置运行它,而不仅限于go build编译生成的二进制可执行文件所在的目录中。

正确地设置GOPATH,并将项目文件夹放在它的一个名为src的子文件夹中:

  • [GOPATH]/src/cli/install/gopher/main.go

执行如下命令将命令行程序gopher安装到系统中:

  • go install cli/install/gopher

如果一切顺利,最终的二进制可执行程序应被安装到[GOPATH]/bin目录中(名称以项目目录名称命名):

  • [GOPATH]/bin/gopher.exe

由于[GOPATH]/bin已在PATH环境变量中,可在任何位置运行gopher程序。

// [GOPATH]/src/cli/install/gopher/main.go 
// go install cli/install/gopher
//
// [GOPATH]/bin/gopher.exe
// gopher	即可运行相应程序package mainimport "fmt"func main() {fmt.Println("Hurray! You are a Gopher!")
}[GOPATH]├──src/│   └──cli/│       └──install/│            └──gopher/│                  └──main.go └──bin/└──gopher.exe// 打印输出:
Hurray! You are a Gopher! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/24058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

沃尔沃Volvo EDI:运输标签测试流程

对接Volvo的EDI项目中,需要按照以下流程完成测试: 1.创建EDI连接并且传输第一个交付计划 2.请求发货通知以及运输标签 3.反馈关于发货通知以及运输标签的细节 4.使用生产数据进行最终的验证 在Volvo EDI项目案例中,详细介绍了有关连接测试以…

25届最近5年南京航空航天大学自动化考研院校分析!

南京航空航天大学 一、学校学院专业简介 二、考试科目指定教材 1、考试科目介绍 2、指定教材介绍 三、近5年考研分数情况 以下为南京航空航天大学,自动化学院近几年的考研分数情况。 以下为南京航空航天大学,航天学院近几年的考研分数情况。 以下为南京…

React -- memo允许你的组件在 props 没有改变的情况下跳过重新渲染。

memo(Component, arePropsEqual?) 使用 memo 将组件包装起来,以获得该组件的一个 记忆化 版本。通常情况下,只要该组件的 props 没有改变,这个记忆化版本就不会在其父组件重新渲染时重新渲染。但 React 仍可能会重新渲染它:记忆化…

内容产品运营方案业务架构解析与实践探索

### 背景 在信息爆炸的时代背景下,内容产品运营成为各行各业竞争的重要环节。构建合理的内容产品运营方案业务架构,能够帮助企业更好地管理内容生产、推广和变现,提升品牌影响力和商业价值。 ### 业务架构设计 #### 1. 内容生产与管理 建立…

漏洞挖掘 | 记一次信息泄露到登入后台

这次是项目上遇到的一个洞,打开页面是一个红红的登录页面 这里就不放图了,浓浓的红色气息~ 老样子抓登录包 虽然是明文传输但是爆破弱口令无果 f12大法,审计源代码,在其中一个js文件中发现了这个接口 拼接URL进行访问 感觉有点东…

移动性:mobility

移动性管理原理 什么是移动性 一些术语 移动性管理办法 让网络(路由器)处理移动性:路由器通过常规路由表发送交换节点的永久地址 路由器互相交换各自移动节点位置信息,路由系统定期会通告自己这边新移动过来的移动设备信息端系统…

【Linux】系统优化:一键切换软件源与安装Docker

引言 在Linux系统安装完成后,进行一些必要的初始化设置是提升系统性能和用户体验的关键。本文将重点介绍两个实用的一键脚本:LinuxMirrors提供的软件源切换脚本和Docker安装脚本。这两个脚本将帮助我们简化配置安装过程。 一键切换软件源脚本 在Linux…

【Test 58】 Qt信号与槽机制! 高频的Qt 知识点!

文章目录 1.Qt 信号与槽机制原理(Signal & Slot)2. QObject 类 connect 的介绍3. 信号与槽机制连接方式4. 信号和槽机制优势及其效率:5. 信号与槽机制应用 1.Qt 信号与槽机制原理(Signal & Slot) &#x1f42…

【Java笔记】第9章:三个修饰符

前言1. abstract(抽象的)2. static(静态的)3. final(最终的)结语 上期回顾:【Java笔记】第8章:面向对象的三大特性(封装、继承、多态) 个人主页:C_GUIQU 归属…

【GUI软件】小红书搜索结果批量采集,支持多个关键词同时抓取!

文章目录 一、背景介绍1.1 爬取目标1.2 演示视频1.3 软件说明 二、代码讲解2.1 爬虫采集模块2.2 软件界面模块2.3 日志模块 三、获取源码及软件 一、背景介绍 1.1 爬取目标 您好!我是马哥python说 ,一名10年程序猿。 我用python开发了一个爬虫采集软件…

Apache Doris 基础 -- 数据表设计(模式更改)

用户可以通过schema Change操作修改现有表的模式。表的模式主要包括对列的修改和对索引的修改。这里我们主要介绍与列相关的Scheme更改。对于与索引相关的更改,可以查看数据表设计/表索引,查看每个索引的更改方法。 1、术语 基本表(Base Ta…

IMX6ULL kernel移植

1.环境说明 编译主机Debian 12交叉编译工具arm-none-linux-gnueabihf-gcc(gcc version 12.3.1 20230626)kernel版本lf-6.6.3-1.0.02.官方默认版本说明 默认官方版本的kernel是可以运行的,直接按照下面的命令编译即可 ###清除掉默认配置make ARCH=arm CROSS_COMPILE=arm-no…

什么是广告联盟变现

广告联盟变现,作为一种连接广告主与各类媒体平台的机制,正展现出强大的生命力和影响力。它为拥有流量资源的一方提供了将其转化为实际经济收益的有效途径。通过广告联盟,媒体平台可以与众多广告主建立合作关系,获取多样化的广告内…

6月13日在线研讨会 | 多产品多流程多团队的ALM选择方案

随着汽车产业步入“软件定义汽车”时代,传统汽车产业的硬件中心模式逐渐被软件与服务的核心地位所取代,这是一场对汽车设计、制造及运营的全方位重塑。在这一转型过程中,如何高效管理汽车的整个生命周期成为了一项全新挑战。在此背景下&#…

谷歌医疗大模型登Nature,Med-PaLM重磅揭秘!AI医生成绩比肩人类

5月I/O大会上,Med-PaLM 2重磅升级,甚至达到了专家水准。 今天,谷歌揭秘微调后的Med-PaLM,同样在医学问题上一骑绝尘。 研究成果已登Nature。 论文地址:https://www.nature.com/articles/s41586-023-06291-2 这项研究…

史上最强 AI 翻译诞生了!拳打谷歌,脚踢 DeepL

CoT 推理范式 默认情况下,大语言模型通常是直接给出问题的最终答案,中间推理过程是隐含的、不透明的,无法发挥出大模型最极致的理解能力。如果你用它来充当翻译,可能效果和传统的机器翻译也差不了太多。 如果我们给大模型设计一…

智能引领医疗新纪元:RFID技术在医疗器械管理中的高端应用

智能引领医疗新纪元:RFID技术在医疗器械管理中的高端应用 随着医疗技术的快速发展,医疗器械在医疗行业中扮演着至关重要的角色。然而,如何有效地管理这些医疗器械,确保其安全、准确、及时地服务于患者,一直是医疗机构…

C++设计模式-中介者模式,游戏对象之间的碰撞检测

运行在VS2022,x86,Debug下。 31. 中介者模式 中介者模式允许对象之间通过一个中介者对象进行交互,而不是直接相互引用。可以减少对象之间的直接耦合,同时集中化管理复杂的交互。应用:如在游戏开发中,可以使…

犯了个愚蠢的错 Command dev‘ does not exists

今天我yarn start运行项目 开始报错 然后我开始chat 我按照步骤做 第五步 我的node版本是v18.17.0不算太低 是个比较稳定的版本 我就没有改 第六步 没有做 再运行 yarn start 报错 后来又修改这个错 升级了umi-plugin-react版本 还是报这个错 最后 求助了 带我的姐 发现…

揭秘重庆耶非凡科技:人力RPO项目真的能帮你赚钱吗?

在当今这个快速变化的市场环境中,企业为了降低运营成本、提升管理效率,越来越倾向于将非核心业务外包给专业的服务提供商。其中,人力资源外包(HRO)作为外包领域的重要组成部分,近年来得到了快速发展。重庆耶非凡科技有限公司的人力…