看板 Linux 關於我們 聯絡資訊
小弟要寫個shell,要先取得passwd裡之uid 在判斷是否印出, 但是在shell中使用for 就會出問題,程式如下(簡化過) for name in `cat /etc/passwd` do echo $name done 照理會印出跟指令 cat /etc/passwd 的資料一樣, 但實際上確不是這樣,在passwd檔中 dbus:x:81:81:System message bus:/:/sbin/nologin 用shell跑只會印出 message,並不是完整的整行資料. 請問是否也有人遇過這樣的問題. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.39.218.205 ※ 編輯: johu 來自: 202.39.218.205 (02/17 14:05)
obarisk:權限問題? 02/17 14:30
johu:我用root 登入的,還需要注意那些呢? tks 02/17 14:40
danny8376:for會用空白字元(空格 換行)拆詞 02/17 16:20
johu:danny大 有何比較好的方式解嗎? tks 02/17 16:25
danny8376:改IFS => IFS=$'\n' 這樣就會只用換行拆 02/17 16:26
johu:>_< 感謝 可以了 02/17 16:41