[TOC]
mac 一般使用bash作為默認shell,也可以用zsh,把zsh改為默認
# 加載順序
Mac系統的環境變量,加載順序為:
~~~
/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
~~~
當然/etc/profile和/etc/paths是系統級別的,系統啟動就會加載,
后面幾個是當前用戶級的環境變量。后面3個按照從前往后的順序讀取,
如果~/.bash_profile文件存在,則后面的幾個文件就會被忽略不讀了,
如果~/.bash_profile文件不存在,才會以此類推讀取后面的文件。
~/.bashrc沒有上述規則,它是bash shell打開的時候載入的。
如果沒特殊說明,設置PATH的語法都為:
~~~
#中間用冒號隔開
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
~~~
# 全局設置
下面的幾個文件設置是全局的,修改時需要root權限
## /etc/paths (全局建議修改這個文件 )
編輯 paths,將環境變量添加到 paths文件中 ,一行一個路徑
Hint:輸入環境變量時,不用一個一個地輸入,只要拖動文件夾到 Terminal 里就可以了。
## /etc/profile (建議不修改這個文件 )
全局(公有)配置,不管是哪個用戶,登錄時都會讀取該文件。
## /etc/bashrc (一般在這個文件中添加系統級環境變量)
全局(公有)配置,bash shell執行時,不管是何種方式,都會讀取此文件。
1.創建一個文件:
sudo touch /etc/paths.d/mysql
2.用 vim 打開這個文件(如果是以 open -t 的方式打開,則不允許編輯):
sudo vim /etc/paths.d/mysql
3.編輯該文件,鍵入路徑并保存(關閉該 Terminal 窗口并重新打開一個,就能使用 mysql 命令了)
/usr/local/mysql/bin
據說,這樣可以自己生成新的文件,不用把變量全都放到 paths 一個文件里,方便管理。
# 單個用戶設置
## ~/.bash_profile (任意一個文件中添加用戶級環境變量)
(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)
若bash shell是以login方式執行時,才會讀取此文件。該文件僅僅執行一次!默認情況下,他設置一些環境變量
設置命令別名alias ll=’ls -la’
設置環境變量:
~~~
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
~~~
## ~/.bashrc 同上
如果想立刻生效,則可執行下面的語句:
$ source 相應的文件
一般環境變量更改后,重啟后生效。
- 云主機和vps的區別
- Mac上的開發工具匯總
- brew
- openssl
- php
- apache
- 窗口快捷鍵
- 允許任何來源
- nginx
- sublime
- shadowsocks
- beyond compare
- 開機自啟
- 環境變量
- iterm2
- 改變 Launchpad
- Mac小技巧
- Mac安裝 GNU 軟件包
- Mac斷網
- 關閉isp保護機制
- charles
- redisdesktop
- vnc連接windows
- say
- go2shell
- zsh
- 創建加密文件夾
- u盤格式化為ext4
- sequalpro
- kernel_task過高
- 錄屏添加聲音
- 一些軟件的安裝和使用
- java
- vagrant
- 多機器創建
- supervisor
- ubuntu配置https證書
- rinetd端口映射轉發
- 安裝中文man
- frp內網穿透
- 樹莓派
- windows燒寫系統
- 如何讓樹莓派支持中文
- 裝系統完全指南
- 使用raspi-config配置樹莓派
- 換源
- frp 隨時隨地訪問自己的樹莓派
- 安裝php和swoole
- 安裝docker
- 安裝mysql和redis
- 音響配置
- 文字轉語音
- 通過usb聲卡錄音和播放
- 視頻監控
- ssh安裝
- 安裝ss
- 安裝teamview
- 安裝TensorFlow
- 掛載U盤
- sd卡拷貝
- 備份系統
- 終端翻墻
- jenkins
- jumpserver
- inotify+rsync
- lnmp一鍵安裝包
- markdown自動生成導航欄
- dnsmasq
- 服務器之間文件同步
- samba
- cmder
- notepad++去除BOM
- wireshark
- proxifier
- fish
- chocolatey
- AutoHotkey
- 遠程喚醒
- win10子系統和卓越性能
- win10創建計劃任務
- 谷歌云免費一年
- windows優化
- windows開機關機腳本
- aliyun DDNS
- BestTrace
- wireguard
- PAC
- telegram
- google voice
- bbr,銳速
- aliyun和tencent云卸載監控
- 通過微博圖片的鏈接找到發圖的人
- Socat端口轉發
- iso制作
- win10關閉自動更新
- youtube-dl
- vscode
- docker
- 簡介
- 網絡
- 常用命令
- 命令細解釋
- docker架構
- centos安裝
- dockerfile
- 使用
- copy
- ADD
- 詳解
- 多階段構建
- docker swarm
- routing mesh
- 清理Docker占用的磁盤空間
- 網絡命名空間
- ETCD
- 簡介
- 部署集群
- 網絡層實現
- docker machine
- 發布
- docker compose
- kubernetes
- 簡介
- pod
- services
- 詳解
- 日志
- 手寫docker
- 基礎技術
- namespace
- cgroups
- 簡介
- 常用命令
- scp
- rpm
- sftp
- vim
- find
- more分屏顯示
- ln
- grep
- init
- nohup
- htop
- top
- w
- ssh
- firewalld
- sudo
- lrzsz
- lsof
- systemctl
- rsync
- screen
- tar打包
- ss
- history
- vmstat
- 基礎知識
- 目錄
- 權限
- 用戶和組
- 防火墻
- crontab
- ps 進程
- 開機自啟
- 信號
- 一些資料
- 同步/異步,阻塞/非阻塞區別
- 添加swap
- 查看硬件資源信息
- 文本相關
- zabbix監控
- sql
- 數字簽名
- 虛擬內存
- rsyslog
- tcp優化
- 避免rm
- ulimit
- rc.local開機自啟
- 文件時間戳
- 文本處理工具
- nginx
- 優點
- 安裝
- 配置文件
- 常用命令
- nginx模塊
- stub_status模塊
- random_index
- sub_module
- secure_link_module模塊
- geoip_module
- 請求限制
- 訪問控制
- 靜態資源web服務
- 防盜鏈
- 代理服務
- 負載均衡
- 緩存服務
- 動靜分離
- rewrite規則
- HTTPS
- nginx+lua
- 常見異常
- 配置文件詳解
- keepalived
- keepalived服務說明
- keepalived部署
- 腦裂
- 多實例配置
- 提高安全性的配置
- 日志配置
- SO_REUSEPORT
- 網絡管理
- ISO/OSI七層模型
- TCP/IP四層模型
- DNS
- 網頁加載慢
- 網關
- IP配置
- NGINX + SSH Tunnel 內網穿透
- 測速
- 防御DDOS
- 屏蔽指定國家所有的IP
- 一鍵安裝桌面環境和RDP
- vps dd win
- iftop監控服務器
- Debian/Ubuntu上使用rclone掛載OneDrive網盤
- 基于serverchan微信推送
- vps dd linux
- ssh端口轉發
- ssh設置代理
- lvs
- 服務管理
- 服務分類
- 服務與端口
- RPM包服務管理
- 源碼包服務管理
- 總結
- yum
- apt
- Linux VPS一鍵更換軟件源腳本
- pgsql安裝
- shell
- shell簡介
- echo命令
- 基礎
- 運算符
- 環境變量
- 正則表達式
- cut命令
- printf
- 分析服務器日志
- sed和awk
- 流程控制
- 函數
- 批處理
- wc
- sort和uniq
- git
- 配置
- git四個區五種狀態
- git常用命令
- 倉庫管理
- 分支管理
- 查看管理
- 操作管理
- 恢復管理
- 其他命令
- 總結
- git fetch & git pull
- 各種后悔藥
- 儲藏
- 標簽管理
- 常見問題
- 刪除大文件
- 設置緩沖區大小
- fork別人的項目
- git rebase 命令的原理和缺陷
- 改寫提交
- git 倉庫的子目錄獨立成新倉庫
- git高級用法
- 回滾 reset
- emoji
- git二分法
- stash
- 刪除Git記錄中的大文件的過程
- git reflog
- 恢復已刪除分支
- reset和revert
- git同時push代碼到github、碼云等多個平臺
- .git秘密
- commit,tree,blob關系
- 暫存區的作用
- git diff
- 安全
- 系統掃描
- 無痕后門Redsails
- iptables
- openresty
- 常用架構
- lua
- twemproxy+redis
- 智能DNS
- bind服務安裝
- DNS解析記錄分類
- bind配置演示
- postman
- zookeeper
- zookeeper簡介
- 集群部署
- 核心工作機制
- zookeeper命令行操作
- zookeeper客戶端API
- 感知服務器動態上下線
- 分布式共享鎖
- 原理
- FastDFS
- 簡介
- 家里的電腦,外界訪問
- centos7和centos6的變化
- centos7顯示中文
- .user.ini
- 設置cookie
- ipv6
- L2TP
- linux性能優化
- socket優化