0
下面的一段代碼是打印/ home/user/dir/* @($ {host} | $ {hostname}) *而不是打印每個文件在目錄中。for循環無法按預期方式與ksh中的變量一起工作
#!/usr/bin/ksh
host=foo
hostname=bar
config_path="/home/user/dir"
search=$config_path/*[email protected](${host}|${hostname})_*
for file in $search
do
echo $file
done
和它的作品,如果我不喜歡這個
#!/usr/bin/ksh
host=foo
hostname=bar
config_path="/home/user/dir"
#search=$config_path/*[email protected](${host}|${hostname})_*
for file in $config_path/*[email protected](${host}|${hostname})_*
do
echo $file
done
我有三個問題。
1)爲什麼當模式被分配給變量時它返回字符串?
2)我在這麼多地方使用這種模式,所以最好給它分配一個變量。如何解決這個問題?
3)固定在較新版本的ksh中嗎?
我使用的是SunOS服務器5.10 Generic_147441-23 i86pc i386 i86pc並通過鍵入以下命令獲得了ksh版本。
$ set -o vi
$ Version M-11/16/88i
感謝大師它的工作... –