溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ubuntu中使用source報錯處理辦法

發(fā)布時間:2020-10-07 12:22:15 來源:網(wǎng)絡(luò) 閱讀:918 作者:往事_Jim_遺 欄目:系統(tǒng)運(yùn)維

   最近一段時間在使用Bash on Ubuntu on Windows做shell腳本調(diào)試時發(fā)現(xiàn)在腳本中使用source時會報錯,上網(wǎng)查了下才了解到原來是在Ubuntu中使用的并不是bash,而是使用優(yōu)化過的dash,而在dash中是沒有source,而在bash中才有source,這就有點(diǎn)麻煩了,平時在寫腳本時有時會調(diào)用系統(tǒng)的function和一些自定義的function,沒有source確實(shí)有點(diǎn)不太方便,而在此時可以在使用dpkg-reconfigure來修改配置dash,在平時可以用以下方法來驗(yàn)證看下自己的系統(tǒng)中使用的shell環(huán)境:

root@localhost:~# ls -l $(which sh)
lrwxrwxrwx 1 root root 4 9月   9 22:09 /bin/sh -> dash

修改下:

root@localhost:~# dpkg-reconfigure dash

之后選擇否,此時再看系統(tǒng)中使用的shell環(huán)境就改成bash

root@localhost:~# ls -l $(which sh)
lrwxrwxrwx 1 root root 4 9月   9 22:09 /bin/sh -> bash

在此時就可以使用source,當(dāng)然如果想不改動系統(tǒng)中的默認(rèn)設(shè)置,也可以在平時寫腳本使用定義好正確的shell環(huán)境,或者直接如下,用系統(tǒng)中的env命令讓系統(tǒng)自己去尋找正確的shell環(huán)境:

#!/bin/env bash


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI