如何在MariaDB中将Shell命令执行结果存入SQL变量?
获取Ubuntu版本并存入MariaDB变量的方案
方法一:Shell端预处理后传递给MariaDB
直接在Shell终端执行命令,先提取纯净的版本号,再传递给MariaDB设置变量:
# 提取Ubuntu版本号(仅得到16.04) UBUNTU_VER=$(lsb_release -r | awk '{print $2}') # 登录MariaDB并设置变量(替换成你的用户名) mysql -u your_username -p -e "SET @ver = '$UBUNTU_VER'; SELECT @ver;"
方法二:MariaDB客户端内通过临时文件中转
如果已经处于MariaDB交互客户端中,可借助临时文件实现:
- 将版本号写入临时文件:
\! lsb_release -r | awk '{print $2}' > /tmp/ubuntu_version.txt
- 读取文件内容到SQL变量:
LOAD DATA INFILE '/tmp/ubuntu_version.txt' INTO @ver;
- (可选)清理临时文件:
\! rm /tmp/ubuntu_version.txt
注意:若出现文件读取权限问题,需检查MariaDB的
secure_file_priv配置,确保临时文件路径在允许范围内。
内容的提问来源于stack exchange,提问作者monster-dev
相关产品推荐
相关产品推荐

