You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过./a.sh $t形式获取Shell脚本中的变量配置值?

Shell脚本传参问题解决

问题原因

你执行./a.sh $t时,这里的$t是当前终端Shell环境里的变量,和脚本a.sh内部定义的t=1232完全是两个独立的变量。脚本里的t是脚本运行时自身创建的局部变量,当前终端Shell根本不知道它的存在,所以你传的$t实际上是空值,脚本里的echo $1自然输出空。

解决方案

方案1:让当前Shell拿到变量值再传参

直接在终端先定义变量,再执行脚本:

t=1232
./a.sh $t

或者把变量定义和脚本调用放在同一行,让变量临时生效:

t=1232 ./a.sh $t

方案2:修改脚本自动传参

如果想通过./a.sh触发,让脚本自己把内部的t值作为参数传入,修改a.sh如下:

#!/bin/bash
t=1232
# 检查是否有传入参数,没有就自己调用自己并传t的值
if [ -z "$1" ]; then
  ./a.sh "$t"
else
  echo "$1"
fi

之后直接执行./a.sh,脚本就会自动输出1232。

方案3:直接传固定值

如果t=1232是固定值,没必要绕弯子,直接写死参数:

./a.sh 1232

内容的提问来源于stack exchange,提问作者hisktskr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 22:45:32