为啥linux 的 source命令在linux的脚本中没有作用 我使用了#!/bin/sh以及#!/bin/bash 都不好用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥linux 的 source命令在linux的脚本中没有作用 我使用了#!/bin/sh以及#!/bin/bash 都不好用相关的知识,希望对你有一定的参考价值。

“ . ” 也使用了同样不好用,求解释

source命令用法:
source FileName
作用:在当前bash环境下读取并执行FileName中的命令。
注:该命令通常用命令“.”来替代。
如:source .bash_rc 与 . .bash_rc 是等效的。
注意:source命令与shell scripts的区别是,
source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。

在bash中可以使用source 可执行文件 来执行一个可执行文件,功能和./一样
例: source 1.sh
./1.sh
不过要更改1.sh的权限

在shell脚本中也可以使用 ,例如
#/bin/bash
#filename:1.sh
echo ok!
source 1.sh
这时运行1.sh时就会无限调用1.sh 输出为ok!无限循环,不过同样要更改1.sh文件的权限

估计您source命令不好用的原因就是可执行权限没开,使用
chmod 777 1.sh 更改1.sh文件的权限
就可以使用了
参考技术A 使用 source执行你的脚本

为啥ubuntu打开终端之后没有命令行提示符

如图 ,没有命令行提示符,可以键入,但是无法执行命令? 怎么恢复??

参考技术A 你是不是打开的不是终端,是VIM呢?如果确实没有的话,我还是建议重新安装系统。另外你是运维的话可以看看Linux 这个可以试试。建议看看《Linux就该这么学》 里面有个专栏是 Linux命令大全(手册) 加入我们的群,一起讨论 Linux就该这么学》 参考技术B

环境变量加了source ~/.bashrc

解决:

$ gedit ~/.bashrc

注释或删除掉source ~/.bashrc语句保存退出,完美解决。


以上是关于为啥linux 的 source命令在linux的脚本中没有作用 我使用了#!/bin/sh以及#!/bin/bash 都不好用的主要内容,如果未能解决你的问题,请参考以下文章

linux JDK安装环境变量配置过了也保存并退出了,但是执行source profile命令后,JDK还是搜不到是为啥?

linux下.bashrc为啥每次打开终端都要source一下才有效,如何才能永远生效?

为啥每次进入命令都要重新source /etc/profile 才能生效

为啥ubuntu打开终端之后没有命令行提示符

为啥source insight在windows里面免费,在linux系统里面却收费

Linux下的Source命令怎么用?