linux脚本配置文件,shell脚本执行及配置文件

bash脚本执行方法:1 解释器直接运行

/usr/bin/bash bash FOO.sh

2 使用路径运行脚本(需要有x权限)

chmod +x FOO.sh

/PATH/TO/FOO.sh

3 使用.或source命令执行脚本

. /PATH/TO/FOO.sh

source /PATH/TO/FOO.sh

1,2执行方法和3执行方法的区别:

1,2:

执行的解释器为子程序,因此不会影响当前shell的变量.

3:

执行的解释器为当前的shell程序,会读取其中的变量并覆盖为当前环境的变量.(一般用于设置默认变量)

bash的配置文件全局配置

/etc/profile

/etc/profile.d/*.sh

/etc/bashrc

个人配置

~/.bashrc

~/.bash_profile

~/.bash_logout

profile系列文件:

(1) 用于定义环境变量

(2) 运行命令或脚本

bashrc系列文件:

(1) 定义命令别名和函数

(2) 定义本地变量

.bash_logout:

用户退出登录之前执行的脚本

bash之交互式登录与非交互式登录交互式登录和非交互式登录区别:

读取的配置文件不同

切换命令:

su USERNAME  非交互式

su - USERNAME 交互式登录

交互式登录读取配置文件顺序:

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

非交互式登录读取配置文件顺序:

/etc/bashrc --> ~/.bashrc --> /etc/profile.d/*.sh

注意:

交互式shell切换为非交互式shell时,首先继承父shell的所有变量,再读取对应配置文件中的变量并覆盖已有变量.

变量查改set

set  列出当前shell中变量名及其值

env

env  列出当前shell中环境变量

unset

unset name     取消变量名

$-  显示set的启用的功能

# echo $-

himBH

h : 是否开启hash

i : 是否是交互式shell

m : 是否开启job控制

B : 是否开启{}的扩展功能

C : 是否开启覆盖重定向功能

H : 是否启用history展开命令,并使用!等快捷方式调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值