基于shell腳本中cd命令無(wú)效的解決方法
在學(xué)習(xí)的時(shí)候,經(jīng)常要切換到固定的文件夾,于是寫了個(gè)shell腳本用cd命令切換卻發(fā)現(xiàn)目錄切換不了。
代碼如下:
#! /bin/bash # c.sh cd /mnt/hgfs/vmshare pwd
解釋:執(zhí)行的時(shí)候是./c.sh來執(zhí)行的,這樣執(zhí)行的話終端會(huì)產(chǎn)生一個(gè)子shell(類似于C語(yǔ)言調(diào)用函數(shù)),子shell去執(zhí)行我的腳本,在子shell中已經(jīng)切換了目錄了,但是子shell一旦執(zhí)行完,馬上退出,子shell中的變量和操作全部都收回?;氐浇K端根本就看不到這個(gè)過程的變化。
驗(yàn)證解釋:
#! /bin/bash # c.sh history cd /mnt/hgfs/vmshare sleep1 #延遲1s pwd
首先按照 ./c.sh執(zhí)行,這時(shí)候終端沒有切換目錄,history執(zhí)行的結(jié)果是空的,說明子shell里面沒有歷史命令(證明前面的解釋是正確的)。
解決方法:source c.sh或者. ./c.sh,這時(shí)候就是直接在終端的shell執(zhí)行腳本了,沒有生成子shell,執(zhí)行的結(jié)果就是輸出歷史命令,并且切換了目錄。
注意上面. ./c.sh .和.中間有個(gè)空格!
以上這篇基于shell腳本中cd命令無(wú)效的解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
通過Shell腳本批量創(chuàng)建服務(wù)器上的MySQL數(shù)據(jù)庫(kù)賬號(hào)
公司有數(shù)百臺(tái) MySQL 實(shí)例,如果手動(dòng)登入來創(chuàng)建賬號(hào)很麻煩,也不現(xiàn)實(shí)。所以,我們寫了一個(gè)簡(jiǎn)單的shell腳本,用來創(chuàng)建批量服務(wù)器的mysql 賬號(hào)。這篇文章主要介紹了通過Shell腳本批量創(chuàng)建服務(wù)器上的MySQL數(shù)據(jù)庫(kù)賬號(hào)的相關(guān)知識(shí) ,需要的朋友可以參考下2019-07-07
shell腳本使用兩個(gè)橫杠接收外部參數(shù)的方法
這篇文章主要介紹了shell腳本使用兩個(gè)橫杠接收外部參數(shù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
linux?shell中Grep命令查找多個(gè)字符串(grep同時(shí)匹配多個(gè)關(guān)鍵字或任意關(guān)鍵字)
grep是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來,下面這篇文章主要給大家介紹了關(guān)于linux?shell中Grep命令查找多個(gè)字符串(grep同時(shí)匹配多個(gè)關(guān)鍵字或任意關(guān)鍵字)的相關(guān)資料,需要的朋友可以參考下2022-08-08
linux修改tomcat默認(rèn)訪問項(xiàng)目的具體步驟(必看篇)
下面小編就為大家?guī)硪黄猯inux修改tomcat默認(rèn)訪問項(xiàng)目的具體步驟(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
iredmail下安裝腳本分析(一)---get_all.sh 文件所在目錄為PKGS
這篇文章主要介紹了iredmail下安裝腳本分析(一)---get_all.sh 文件所在目錄為PKGS的相關(guān)資料,需要的朋友可以參考下2015-10-10
Linux實(shí)現(xiàn)徹底清理空文件夾的方法詳解
這篇文章主要介紹了Linux實(shí)現(xiàn)徹底刪除指定路徑下的所有空文件夾。這里的空文件夾的認(rèn)定標(biāo)準(zhǔn)是:如果某個(gè)文件夾的子文件夾全是空文件夾,也認(rèn)為該文件夾是空文件夾,需要的可以參考一下2022-10-10
Linux batch命令詳解(在系統(tǒng)不繁忙的時(shí)候執(zhí)行定時(shí)任務(wù))
batch命令 用于在指定時(shí)間,當(dāng)系統(tǒng)不繁忙時(shí)執(zhí)行任務(wù),用法與at相似,這篇文章主要介紹了Linux batch命令(在系統(tǒng)不繁忙的時(shí)候執(zhí)行定時(shí)任務(wù)),需要的朋友可以參考下2024-02-02

