#!/bin/sh
cd /home/user/Downloads
pwd
在shell環境下通過./chdir.sh執行這段腳本是無法進入Downloads目錄的; 這是因爲shell在執行腳本時,會創建一個子shell,並在子shell中逐個執行腳本中的指令; 而子shell中從父shell中繼承了環境變量,但是執行後不會改變父shell的環境變量;如果想要代碼中切換目錄的操作生效,只需要通過source 命令執行即可:
source ./chdir.sh
source 命令是在當前的shell環境下執行腳本 ,不會創建子shell;
每次都要輸入source是一件煩瑣的事情,其實source命令又叫點命令,在需要用到source的情況下,直接換成'.'即可:
. ./chdir.sh