shell指令碼中不識別source命令
工作需要寫一個批量執行的shell指令碼,其中使用了source命令初始化Android編譯環境載入特定的配置檔案。將source命令寫到指令碼中,發現整個命令都沒有變色,這是什麼情況,心中打了個大問號,不過還是忽略了,接著碼指令碼,指令碼完成後,興致勃勃的執行了一下,發現source這行執行失敗(command not found、source: not found ),導致後面用到的Android編譯環境也失敗了,大篇的失敗,心塞塞的
原因:使用下面的命令檢視下sh的詳情
ls -l `which sh`
結果如圖所示,/bin/sh預設指向了dash,so指令碼預設是以dash模式執行的
解決問題:將系統預設的執行方式修改為bash,執行下面命令
dpkg-reconfigure dash
執行結果,提示是否設定dash設定為系統預設shell模式,選擇no,將bash設定為預設
這是完成後,重新檢視sh詳情,見下圖
/bin/sh指向了bash。下面重新執行下shell指令碼,如果還是提示command not found,只能重啟下機器了
相關文章
- shell中的點命令與source命令的區別
- 詳解shell中source、sh、bash、./執行指令碼的區別指令碼
- Shell指令碼中cd命令使用指令碼
- shell指令碼中cd命令無效指令碼
- 初識shell指令碼指令碼
- 在shell指令碼中呼叫另一個指令碼的三種不同方法(fork, exec, source)指令碼
- Shell指令碼知識簡述指令碼
- Shell指令碼常用命令整理指令碼
- 輕鬆使用“Explain Shell”指令碼來理解 Shell 命令AI指令碼
- shell指令碼的基礎知識指令碼
- 初識shell指令碼程式設計指令碼程式設計
- shell中的source和直接執行sh的區別
- shell 命令在終端可以執行成功,為什麼放在 groovy 指令碼中不執行?指令碼
- Linux Source命令及指令碼的執行方式解析Linux指令碼
- 9、在Shell指令碼中呼叫其他指令碼指令碼
- Linux命令和shell指令碼學習Linux指令碼
- shell指令碼-if else 語句以及test命令指令碼
- shell指令碼的命令列引數 - todo指令碼命令列
- source和.命令的區別
- MySQL中的source命令MySql
- Linux/Unix shell 指令碼中呼叫SQL,RMAN指令碼Linux指令碼SQL
- shell指令碼0——”一切皆檔案“, 認識Shell指令碼
- 【Shell】使用Shell指令碼快速完成SQL指令碼中重複枯燥的任務指令碼SQL
- shell指令碼:$(())與$()還有${}的區別指令碼
- shell指令碼linux命令連續執行指令碼Linux
- Shell指令碼對ps命令隱藏引數指令碼
- shell指令碼指令碼
- [20210330]bash使用source or ..呼叫shell指令碼注意txt指令碼
- Shell指令碼中的 /Dev/Null 用途指令碼devNull
- linux shell指令碼中 =~ 的作用Linux指令碼
- sh/bash/source/.命令的區別
- source 和export 命令的區別Export
- shell指令碼不換行重新整理資料指令碼
- [Shell] Shell 生成 HTML指令碼HTML指令碼
- 什麼是Shell指令碼?Shell指令碼在Linux運維工作中的地位!指令碼Linux運維
- centos 7 不識別ifconfig命令CentOS
- 如何呼叫python中的shell指令碼?Python指令碼
- shell指令碼(二)指令碼