Bash
Shell 腳本在終端中執行,但不是從 shell 腳本文件中執行
可能重複:
我從文件執行腳本時遇到問題。當我輸入命令行
PATH=$PATH:/home/
然後
PATH
適當地改變。但是當我執行這個文件時:#!/bin/sh #provided by me PATH=$PATH:/home/ echo "done" exit 0
done
已列印但未PATH
更改。為什麼會這樣?
環境變數更改適用於目前程序和任何後續子程序,但不適用於父程序。所以如果你執行一個腳本,它不會影響執行它的 shell 的環境變數。您需要
source
使用.
shell 內置腳本。IE. /path/to/script
這會導致目前 shell 執行文件中的命令,而不是執行子程序。