Linux shell進入某個目錄

2021-10-01 19:33:57 字數 598 閱讀 5944

在linux環境下,我們經常會有通過shell指令碼進入指定目錄的操作,指令碼test1.sh內容如下:

#!/bin/sh

cd /home/soft

echo "abc"

cd -

sh ./test1.sh執行之後並不會進入soft目錄, 這是因為shell在執行指令碼時,會建立乙個子shell,並在子shell中逐個執行指令碼中的指令; 而子shell中從父shell中繼承了環境變數,但是執行後不會改變父shell的環境變數

解決方法:

source ./test1.sh
source命令是在當前shell環境下執行指令碼,不會建立子shell;

cd -
該命令等同於cd $oldpwd,關於這一點在bash的手冊頁(可使用命令man bash訪問其手冊頁)中有介紹:

an argument of - is equivalent to $oldpwd.
並且它還會返回上一次目錄的物理路徑。

sourceInsight如何進入某個標頭檔案

當我們檢視到某個標頭檔案的時候,想jump to defination,發現找不到這個檔案,例如 includ,這需要設定sourceinsight到指定某個目錄搜尋,在linux原始碼中的include目錄裡有庫函式的一些標頭檔案,只需要指定到該目錄搜尋就可以跳轉到這個標頭檔案,方法如下 開啟so...

C 如何一進入程式不聚焦某個控制項

1.問題起因 程式為乙個單獨窗體,窗體中有兩個按鈕,但是一進入窗體,焦點就會在button1上,然後通過tab鍵可把焦點在button1和button2間切換。2.解決辦法 可以把button1的屬性 tabstop 改為false,但是這樣的話,雖然一進入窗體不會聚焦在button1上,但是會在b...

Git 忽略某個目錄中的檔案,同時保留這個目錄

類似的乙個問題是專案根目錄下可能有 logs 一類的目錄,我們希望他人把倉庫 clone 下來的時候能夠已經攜帶了這個目錄,但又不希望讓這個目錄中的日誌檔案進版本庫。之前看到一些專案用了一種比較 ugly 的做法 在 logs 下建立乙個.gitkeep空檔案 git 無法版本控制沒有任何檔案的空目...