Linux Shell
Shell是一个系统程序,但与一般在后台运行的系统程序不同,它在前台提供Linux系统与用户交互操作的界面。
一、Shell变量
1.本地变量
本地变量是由用户自己定义,只作用于当前的shell环境,对于在这个shell环境下启动的子shell进程,它将不能够被有效访问。
(1)设置变量
例:MOVIE="Live is beautiful"
(2)显示变量
例:echo $MOVIE
(3)清除变量
例:unset MOVIE
(4)查看所有变量
例:set|more
2.环境变量
定义用户的工作环境,用户在当前shell或者任意子shell中获得环境变量的信息。
(1)设置变量
例:MOVIE="Live is beautiful"
export MOVIE
导出变量,使之能用于全部的shell环境
(2)显示所有环境变量
例:export
(3)清除环境变量
例:unset MOVIE
(4)常用环境变量
HOME:用户主目录绝对路径
PATH:用冒号分割的可执行文件目录
TERM:终端类型
UID:用户ID
PWD:当前工作目录绝对路径
PS1:主提示符,特权用户缺省的是#,普通用户是$
PS2:缺省辅助提示符,例如未输完命令按enter键,shell显示的辅助提示符
3.位置参数变量
共10个:$0-$9,$0表示shell程序本身,$1标示第一个位置的参数。当位置参数多于8个的时候,可以通过shift命令,将后面参数前移一位。
例:sharg.sh脚本文件为:
echo "command received $# params"
echo "command:$0"
echo "Arg1:$1"
shift
echo "Arg3:$1"
运行:./sharg.sh 80 f1 f2
结果为:command receive 3 prarams
command:./sharg.sh
Arg1:80
Arg2:f1
4.预定义变量
$# 传递到脚本的参数数量
$* 以一个单字符串显示传递到脚本的所有参数内容
$? 命令执行后返回的状态
$$ 当前进程的进程号
$! 后台运行的最后一个进程号
$0 当前执行的进程名
5.环境变量配置文件
/etc/profile
/etc/pfofile.d/*
/etc/bashrc
用户主目录下.bash_profile
用户主目录下.bashrc
/etc/profile和/etc/profile.d/*对系统所有用户都有效,用户登录的时候,bash先执行它们,再执行用户主目录下的.bash_profile和.bashrc(执行它的时候会执行/etc/bashrc)。用户主目录下的.bash_profile每次登录都运行,而.bashrc是每次打开新的终端时执行,所以用户一般修改某个环境变量,一般都放在.bashrc中
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· MQ 如何保证数据一致性?