欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在 SHELL 腳本中調(diào)用另一個(gè) SHELL 腳本的方法(報(bào)錯(cuò): go:not found)

 更新時(shí)間:2023年08月22日 10:17:54   作者:西京刀客  
在Linux平臺(tái)上開(kāi)發(fā),經(jīng)常會(huì)在console(控制臺(tái))上執(zhí)行另外一個(gè)腳本文件,經(jīng)常用的方法有:./my.sh 或 source my.sh 或 . my.sh;這三種方法有什么不同呢?這篇文章主要介紹了在 SHELL 腳本中調(diào)用另一個(gè) SHELL 腳本的方法(報(bào)錯(cuò): go:not found),需要的朋友可以參考下

在 SHELL 腳本中調(diào)用另一個(gè) SHELL 腳本(報(bào)錯(cuò): go: not found)

在 SHELL 腳本中調(diào)用另一個(gè) SHELL 腳本

在Linux平臺(tái)上開(kāi)發(fā),經(jīng)常會(huì)在console(控制臺(tái))上執(zhí)行另外一個(gè)腳本文件,經(jīng)常用的方法有:./my.sh 或 source my.sh 或 . my.sh;這三種方法有什么不同呢?

在這里插入圖片描述

一個(gè)腳本sudo調(diào)另外一個(gè)腳本,報(bào)錯(cuò)(報(bào)錯(cuò): go: not found)

問(wèn)題:A 腳本調(diào) B腳本,如下:sudo ./build.sh 報(bào)錯(cuò) B腳本中的 ./build.sh: 5: go: not found。但是單獨(dú)運(yùn)行B腳本沒(méi)有問(wèn)題。

問(wèn)題分析:這個(gè)問(wèn)題可能的原因是:

1.A腳本和B腳本使用了不同的環(huán)境變量配置
可能A腳本執(zhí)行時(shí)修改或重置了環(huán)境變量,導(dǎo)致B腳本運(yùn)行時(shí)無(wú)法找到go執(zhí)行環(huán)境。
可以在A腳本末尾打印出PATH變量,然后再運(yùn)行B腳本,看PATH變量是否被改變。
也可以嘗試在A腳本執(zhí)行后手動(dòng)將PATH重置到原來(lái)狀態(tài)。
2.A腳本切換了用戶身份
一些腳本會(huì)用su或sudo來(lái)切換用戶,從而切換到一個(gè)不同的執(zhí)行環(huán)境。
可以檢查下A腳本是否切換了用戶,如果是的話,需要保證切換后的用戶也能找到go執(zhí)行環(huán)境。
3.A腳本中執(zhí)行了chroot等操作
如果A腳本執(zhí)行了chroot等操作,可能會(huì)使B腳本運(yùn)行在一個(gè)被隔離的環(huán)境中,從而找不到命令。

使用 sudo 會(huì)切換到 root 用戶身份執(zhí)行腳本,而 root 用戶默認(rèn)情況下并沒(méi)有配置 GO 相關(guān)的環(huán)境變量??梢詸z查一下:

  • sudo env 查看環(huán)境變量,是否存在 GO 相關(guān)的配置
  • which go 在 sudo 下是否能找到 go 命令執(zhí)行 sudo which go 反而找不到go了

解決方法是:

  • 不使用 sudo 執(zhí)行 A 腳本,而是提前配置好用戶權(quán)限,直接用普通用戶執(zhí)行
  • 在 sudo 前面保留用戶環(huán)境變量,例如:
sudo env "PATH=$PATH" ./A.sh 
  • 為 root 用戶配置 GO 相關(guān)環(huán)境變量
  • 在 A 腳本中使用 su 切換用戶,而不是 sudo
    使用 sudo 執(zhí)行腳本時(shí),會(huì)切換到 root 用戶身份,這個(gè)環(huán)境默認(rèn)情況下可能沒(méi)有配置相關(guān)的環(huán)境變量和命令路徑。
    而使用 su 切換用戶可以保留更多原始用戶的環(huán)境配置。

總之,需要確保在 A 腳本中切換的用戶環(huán)境下,也能正常找到 go 命令執(zhí)行。

到此這篇關(guān)于在 SHELL 腳本中調(diào)用另一個(gè) SHELL 腳本(報(bào)錯(cuò): go: not found)的文章就介紹到這了,更多相關(guān)shell腳本調(diào)用另一個(gè)shell腳本內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Shell編程中while與for的區(qū)別及用法詳解

    Shell編程中while與for的區(qū)別及用法詳解

    在shell編程中經(jīng)常用到循環(huán),常用的循環(huán)有for和while循環(huán)兩種。while循環(huán)默認(rèn)以行讀取文件,而for循環(huán)以空格讀取文件切分文件,本篇就結(jié)合現(xiàn)網(wǎng)的一些使用示例說(shuō)說(shuō)二者的用法和區(qū)別
    2016-02-02
  • shell腳本如何獲取第幾行 第幾列的命令 awk sed

    shell腳本如何獲取第幾行 第幾列的命令 awk sed

    這篇文章主要介紹了shell腳本如何獲取第幾行 第幾列的命令 awk sed,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • shell 備份數(shù)據(jù)庫(kù)、代碼上線的腳本

    shell 備份數(shù)據(jù)庫(kù)、代碼上線的腳本

    Shell 是一個(gè)用 C 語(yǔ)言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語(yǔ)言,又是一種程序設(shè)計(jì)語(yǔ)言。這篇文章主要介紹了shell腳本之備份數(shù)據(jù)庫(kù)、代碼上線,需要的朋友可以參考下
    2020-02-02
  • 詳解shell 變量

    詳解shell 變量

    這篇文章主要介紹了shell 變量的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)shell,感興趣的朋友可以了解下
    2020-08-08
  • shell特殊位置變量的問(wèn)題小結(jié)

    shell特殊位置變量的問(wèn)題小結(jié)

    這篇文章介紹了一些在Shell腳本中常用的特殊位置變量,如$n, $0, $#等,并詳細(xì)解釋了它們的功能和用法,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • shell 使用數(shù)組作為函數(shù)參數(shù)的方法(詳解)

    shell 使用數(shù)組作為函數(shù)參數(shù)的方法(詳解)

    下面小編就為大家?guī)?lái)一篇shell 使用數(shù)組作為函數(shù)參數(shù)的方法(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • 腳本批量檢測(cè)網(wǎng)站是否存活

    腳本批量檢測(cè)網(wǎng)站是否存活

    這篇文章主要介紹了批量檢測(cè)網(wǎng)站是否存活的腳本,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • shell常用重定向?qū)嵗v解

    shell常用重定向?qū)嵗v解

    這篇文章主要介紹了shell常用重定向?qū)嵗v解,I/O(輸入/輸出)常用的重定向命令詳細(xì)介紹,需要的朋友可以參考下
    2014-07-07
  • 如何查看Linux提供的Shell解析器

    如何查看Linux提供的Shell解析器

    這篇文章主要介紹了查看Linux提供的Shell解析器的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • linux?命令中的lynx解析

    linux?命令中的lynx解析

    lynx命令是純文本模式的網(wǎng)頁(yè)瀏覽器,不支持圖形、音頻、視頻等多媒體信息,這篇文章主要介紹了linux?命令中的lynx解析,需要的朋友可以參考下
    2024-07-07

最新評(píng)論