shell 字符串赋值

machaoqun6666 2011-11-01 10:32:35
a.def文件

A_xyz="aaaaa"
B-xyz="bbbbb"
C_xyz="ccccc"
...



shell.sh

source a.def
x=$(echo $1 | tr 'a-z' 'A-Z')_xyz
echo $x

./shell.sh a
结果是A 却不是aaaaa

具体语句记不太清 大概是这个样子 不知道这样怎么能赋值成功


...全文
392 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
machaoqun6666 2011-11-02
  • 打赏
  • 举报
回复
今天用的eval x=\$$(echo $1 | tr 'a-z' 'A-Z')_xyz

x的值还要export出去使用


谢谢两位了,结贴给分。
qq120848369 2011-11-01
  • 打赏
  • 举报
回复
#!/bin/bash

A_xyz="aaaaa"
C_xyz="ccccc"

eval x='${'$(echo $1 | tr 'a-z' 'A-Z')'_xyz}'
echo $x


那个有点乱,这样就行了。
delphiwcdj 2011-11-01
  • 打赏
  • 举报
回复
参数扩展
将变量放在花括号{}中,实现把参数的值替换进一个字符串里。
例子1 :
#! /bin/bash
# program:
# 参数扩展
# History:
# 2011/04/23 wcdj First release
for i in 1 2
do
echo ${i}_tmp
done
qq120848369 2011-11-01
  • 打赏
  • 举报
回复
#!/bin/bash

A_xyz="aaaaa"
C_xyz="ccccc"

eval x='${'$(echo $1 | tr 'a-z' 'A-Z')_xyz'}'
echo $x
qq120848369 2011-11-01
  • 打赏
  • 举报
回复
需要eval,我试试先。

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧