文章851
标签121
分类10

Mac 上每次都需要执行 `source ~/.bash_profile` 的解决方案

如果您在 Mac 上设置了环境变量,并发现每次打开终端都需要手动执行 source ~/.bash_profile 才能生效,这可能是因为您的终端没有自动加载配置文件。以下是解决这一问题的几种方法。

1. 确认使用的 Shell

首先,检查您正在使用的 Shell。macOS 默认使用 zsh,但如果您手动切换到 bash,则需要确保配置文件正确。

检查当前 Shell

在终端中运行以下命令:

echo $SHELL

如果输出为 /bin/zsh,您正在使用 zsh,那么需要修改 ~/.zshrc 文件。如果是 /bin/bash,则修改 ~/.bash_profile 文件。

2. 对于 Zsh 用户

如果您使用的是 zsh,请将环境变量配置添加到 ~/.zshrc 文件中,而不是 ~/.bash_profile

编辑 ~/.zshrc

nano ~/.zshrc

在文件末尾添加您的环境变量配置,例如:

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go

保存文件后,执行以下命令使更改生效:

source ~/.zshrc

3. 对于 Bash 用户

如果您使用的是 bash,并且仍然需要手动执行 source ~/.bash_profile,请确保您在 ~/.bash_profile 中的配置是正确的。

编辑 ~/.bash_profile

nano ~/.bash_profile

添加您的环境变量配置,例如:

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go

确保 ~/.bash_profile 被加载

在某些情况下,您可能需要确保 ~/.bashrc 被加载到 ~/.bash_profile 中。可以在 ~/.bash_profile 中添加以下内容:

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

4. 重新打开终端

配置完成后,关闭并重新打开终端,查看环境变量是否自动生效。您可以运行以下命令检查:

echo $PATH

5. 总结

通过将环境变量配置添加到正确的 Shell 配置文件中,您可以避免每次打开终端后手动执行 source 命令。确保使用相应的配置文件(~/.bash_profile~/.zshrc)并正确设置环境变量。

分割PHP配置文件 php.ini

分割PHP配置文件 的方法

编译php 时 增加如下参数

 ./configure  --with-config-file-scan-dir=PATH --wi...

这个是指定附加的ini配置文件的目录位置,此目录下的ini文件会被追加到php.ini配置中。

我们可以在 PATH 目录下 创建分割配置文件

 $ cat redis.ini 
    
 extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20180731/redis.so

yum 安装 Redis

yum 安装Redis:

由于Centos官方yum源里面没有Redis,我们需要安装一个第三方的yum源,这里用了Fedoraepel仓库,执行命令安装,这里要注意一点,yum 安装的redis 版本不一定是最新的,可以用yum search redis 来查询安装源中的redis 版本,默认情况,版本较老。

安装epel仓库:

yum install -y epel-release

然后使用 yum install -y redis 安装redisyum 安装操作非常简单。

下面使用 cetnos7 systemctl 启动 redis,命令如下:

systemctl start redis

Go 语言中的下划线( `_`)

在 Go 语言中,下划线(_)具有特殊的含义和用途。它被称为“空白标识符”,主要用于丢弃不需要的值。以下是一些常见的用法和示例。

1. 丢弃不需要的值

在接收多个返回值的函数中,如果您只关心某些返回值,可以使用下划线来丢弃不需要的值。

示例

package main

import (
    "fmt"
)

func getValues() (int, int) {
    return 42, 99
}

func main() {
    a, _ := getValues() // 丢弃第二个返回值
    fmt.Println(a)      // 输出:42
}

2. 忽略导入的包

在导入包时,如果您只想执行包中的初始化代码,而不使用包中的任何标识符,可以使用下划线。

示例

package main

import (
    _ "github.com/lib/pq" // 导入但不使用
)

func main() {
    // 这里可以使用 pq 包的初始化代码
}

3. 作为占位符

在某些情况下,下划线可以用作占位符,表示某个变量存在但不需要使用。

示例

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        _, err := doSomething(i)
        if err != nil {
            fmt.Println("Error:", err)
        }
    }
}

func doSomething(i int) (int, error) {
    return i * 2, nil // 返回一个值和一个错误
}

4. 作为类型别名

在类型定义中,下划线可以用来创建不需要使用的类型。

示例

type myInt int

func (m myInt) DoSomething() {
    // 方法实现
}

func main() {
    var _ myInt = 10 // 确保 myInt 实现了某些接口
}

5. 注意事项

  • 下划线不能被用作变量名,不能被重复赋值。
  • 使用下划线可以提高代码的可读性,明确哪些返回值是被忽略的。

总结

在 Go 语言中,下划线(_)是一个非常有用的空白标识符,主要用于丢弃不需要的值、忽略导入的包和作为占位符等。通过合理使用下划线,可以使代码更加简洁和清晰。

在 Mac 上升级到 Go 1.18 的步骤

如果您希望在 Mac 上升级到 Go 1.18,可以按照以下步骤进行操作:

1. 检查当前 Go 版本

在终端中运行以下命令,检查当前安装的 Go 版本:

go version

2. 卸载旧版本(可选)

如果您是通过 Homebrew 或直接下载的方式安装的 Go,建议先卸载旧版本。

使用 Homebrew 卸载

如果您是通过 Homebrew 安装的,可以使用以下命令卸载:

brew uninstall go

手动卸载

如果您是手动安装的,您可以删除 Go 目录(通常在 /usr/local/go):

sudo rm -rf /usr/local/go

3. 下载 Go 1.18

前往 Go 的官方网站下载 Go 1.18 的安装包:

Go Downloads

选择适合 macOS 的版本(通常为 .pkg 文件)。

4. 安装 Go 1.18

  • 双击下载的 .pkg 文件,按照提示完成安装。

5. 验证安装

安装完成后,在终端中运行以下命令,确认 Go 已成功升级:

go version

您应该看到输出类似于:

go version go1.18 darwin/amd64

6. 配置环境变量(如有必要)

如果您之前手动设置了 Go 的环境变量,确保它们仍然正确。通常需要设置 GOPATH 和将 Go 的 bin 目录添加到 PATH 中。

~/.bash_profile~/.zshrc 文件中添加:

export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

然后运行以下命令以使更改生效:

source ~/.bash_profile  # 对于 bash 用户
# 或
source ~/.zshrc         # 对于 zsh 用户

7. 更新 Go Modules(如使用)

如果您在项目中使用 Go Modules,可以更新依赖项:

go get -u
">