首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环不按预期使用ksh中的变量。

循环不按预期使用ksh中的变量。
EN

Stack Overflow用户
提问于 2013-01-10 11:33:16
回答 1查看 416关注 0票数 1

下面的代码是打印/home/user/dir/*@(${host}区${hostname})*,而不是打印目录中的每个文件。

代码语言:javascript
复制
#!/usr/bin/ksh

host=foo
hostname=bar 
config_path="/home/user/dir"

search=$config_path/*_@(${host}|${hostname})_*

for file in $search
do                    
  echo $file
done

如果我真的喜欢这个的话

代码语言:javascript
复制
#!/usr/bin/ksh

host=foo
hostname=bar 
config_path="/home/user/dir"

#search=$config_path/*_@(${host}|${hostname})_*

for file in $config_path/*_@(${host}|${hostname})_*
do                    
  echo $file
done

我有三个问题。

1)当模式被赋值给变量时,它为什么返回字符串?

2)我在很多地方都使用这种模式,所以最好给它赋值一个变量。怎么解决这个问题?

( 3)新版本的ksh中是否有修正?

我使用SunOS服务器5.10泛型_147441-23 i86pc i386 i86pc,并通过键入以下命令获得ksh版本。

代码语言:javascript
复制
$ set -o vi
$ Version M-11/16/88i
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-10 11:51:25

要解决这个问题,您可以这样做:

代码语言:javascript
复制
for file in $(eval echo $search)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14256995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档