unix
  • scripting
  • ksh
  • 2011-04-22 46 views 1 likes 
    1

    我在寫一個新的腳本,它基於ls查詢的結果創建別名。腳本本身很簡單,但是掛我的是別名調用。我無法弄清楚如何引用我在另一個字符串已經生成當我打電話alias命令變量:如何在UNIX中引用字符串中的變量?

    for f in `ls -1 -O dir /dev/fs/` 
    do 
        fl=`echo $f | tr '[:upper:]' '[:lower:]'` 
        alias "$fl"_drive='cd /dev/fs/$f' 
    done 
    

    這是參考別名調用,將其扔我送行的$ F變量。任何人都可以闡明一些適當的語法嗎?提前致謝。

    回答

    3

    我想你正確地想要$f指向你當前循環的文件。

    shell不會在單引號(')內部展開任何內容,因此您的別名包含文字$f。改用雙引號。

    alias "$fl"_drive="cd /dev/fs/$f" 
    
    +0

    是啊,這做到了。謝謝你的幫助! – DaWolfman 2011-04-22 15:14:26

    2

    嘗試:

    alias "${fl}_drive"="cd /dev/fs/$f" 
    
    相關問題