[問題] shell的疑問

看板Linux作者 (J先生)時間12年前 (2014/02/17 14:04), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
小弟要寫個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)

02/17 14:30, , 1F
權限問題?
02/17 14:30, 1F

02/17 14:40, , 2F
我用root 登入的,還需要注意那些呢? tks
02/17 14:40, 2F

02/17 16:20, , 3F
for會用空白字元(空格 換行)拆詞
02/17 16:20, 3F

02/17 16:25, , 4F
danny大 有何比較好的方式解嗎? tks
02/17 16:25, 4F

02/17 16:26, , 5F
改IFS => IFS=$'\n' 這樣就會只用換行拆
02/17 16:26, 5F

02/17 16:41, , 6F
>_< 感謝 可以了
02/17 16:41, 6F
文章代碼(AID): #1J0QP_pu (Linux)