为什么linux 的 source命令在linux的脚本中没有作用 我使用了#!/bin/sh以及#!/bin/bash 都不好用
发布网友
发布时间:2022-04-23 06:14
我来回答
共2个回答
热心网友
时间:2023-10-03 01:09
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文件的权限
就可以使用了
热心网友
时间:2023-10-03 01:09
使用 source执行你的脚本
热心网友
时间:2023-10-03 01:09
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文件的权限
就可以使用了
热心网友
时间:2023-10-03 01:09
使用 source执行你的脚本