您好,登錄后才能下訂單哦!
最近一段時間在使用Bash on Ubuntu on Windows做shell腳本調試時發現在腳本中使用source時會報錯,上網查了下才了解到原來是在Ubuntu中使用的并不是bash,而是使用優化過的dash,而在dash中是沒有source,而在bash中才有source,這就有點麻煩了,平時在寫腳本時有時會調用系統的function和一些自定義的function,沒有source確實有點不太方便,而在此時可以在使用dpkg-reconfigure來修改配置dash,在平時可以用以下方法來驗證看下自己的系統中使用的shell環境:
root@localhost:~# ls -l $(which sh) lrwxrwxrwx 1 root root 4 9月 9 22:09 /bin/sh -> dash
修改下:
root@localhost:~# dpkg-reconfigure dash
之后選擇否,此時再看系統中使用的shell環境就改成bash
root@localhost:~# ls -l $(which sh) lrwxrwxrwx 1 root root 4 9月 9 22:09 /bin/sh -> bash
在此時就可以使用source,當然如果想不改動系統中的默認設置,也可以在平時寫腳本使用定義好正確的shell環境,或者直接如下,用系統中的env命令讓系統自己去尋找正確的shell環境:
#!/bin/env bash
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。