[操作疑難] redirect output to file

我想將nic 的ip output 到file:

$ifconfig eth0|grep "inet addr" >ip.txt

於是產生了ip.txt,內容如下:
  inet addr:11.22.33.44  Bcast:11.22.33.255  Mask:255.255.255.0

但當我放到crontab執行時,卻產生了一個空白的ip.txt

但我改成
echo "ifconfig eth0|grep "inet addr"" >ip.txt
放到crontab執行則沒有問題

為甚麼會這樣?

本帖最後由 Bomber 於 2012-5-14 22:33 編輯

靠估
會唔會係crontab environment 唔同bash environment
例如which ifconfig
佢會話你聽ifconfig係邊到(full path), 係用左PATH env 黎搵, 但係cronjob就唔會有...一係你用full path ?
即係/sbin/ifconfig eth0 | /usr/bin/grep "inet addr" >ip.txt

TOP

which <cmd>
點解唔係用
$ type <cmd>

用 which 的好處比較 type 可以說明一下嗎?
  1. $ type which
  2. which is /usr/bin/which
複製代碼
仲有題外係 command 同俾 "\" prefix.

開口話估, 不如唔好答, 完全無責任心。

TOP

本帖最後由 roytam1 於 2012-5-17 09:07 編輯
which
點解唔係用
$ type

用 which 的好處比較 type 可以說明一下嗎?仲有題外係 command 同俾 "\" prefi ...
killerpub 發表於 2012-5-17 02:04



    睇你用乜shell喎。我用 mksh :
  1. # which type
  2. type='whence -v'
  3. # which which
  4. which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
  5.         /usr/bin/which
複製代碼
bash 的話 type 係 builtin

which 係 POSIX 系統指令,只要係 POSIX compliant 乜機都可以用 /usr/bin/which 搵指令。

TOP

回復 3# killerpub
我無你咁叻, 識哂type同which, that is the reason

post 出黎係想樓主試下, 再post 個result, 我可以學下野, 反正錯左個system唔會死
亦都等咁有experience 既你串我既機會 , 同post過正確既答案出黎
thank you

TOP

好少少嘅做法就係redirect stdout 之外,同時redirect stderr  去ip.txt, 可以學下點樣trace 返個問題

TOP


>> 睇你用乜shell喎。我用 mksh :
>> bash 的話 type 係 builtin
>> which 係 POSIX 系統指令,只要係 POSIX compliant 乜機都可以用 /usr/bin/which 搵指令。


或者有人用 fi-sh 好唔好?

debian 同 ubuntu 既 dash shell 算乜呢,  明顯地對你黎講係好冷門。

要用乜根本係個人意願, 鐘意做個 java which 同大家開心一樣得。

有 type 唔用, 要用 which 同一道理係因為唔識用。

TOP

我無你咁叻, 識哂type同which, that is the reason

post 出黎係想樓主試下, 再post 個result, 我可以學下野, 反正錯左個system唔會死
亦都等咁有experience 既你串我既機會 , 同post過正確既答案出黎


>> post 出黎係想樓主試下
>> 反正錯左個system唔會死
>> 亦都等咁有experience 既你串我既機會

logicrichfool to yourself.

俾你串番我打錯字 - 既 - 機會

TOP

回復 6# travel


    無試到佢既 "" quotes

好少見你咁出力 post

TOP

本帖最後由 roytam1 於 2012-5-18 10:13 編輯
或者有人用 fi-sh 好唔好?

debian 同 ubuntu 既 dash shell 算乜呢,  明顯地對你黎講係好冷門。

要用乜 ...
killerpub 發表於 2012-5-18 00:10



    type 唔一定個個 shell 都有
  1. minix-sh # ./sh
  2. # type which
  3. type: not found
複製代碼
  1. # ./busybox-1.13.4/busybox msh
  2. root:~> type which
  3. type: not found
複製代碼
  1. # ./busybox-1.13.4/busybox hush
  2. ~ # type which
  3. hush: can't exec 'type': No such file or directory
複製代碼
  1. posh-0.10.1 # ./posh
  2. # type which
  3. ./posh: type: not found
複製代碼
  1. sash-3.7 # ./sash
  2. Stand-alone shell (version 3.7)
  3. > type which
  4. type: No such file or directory
複製代碼
但 /usr/bin/which 就肯定每個 POSIX complaint OS 都有
dash (Debian Almquist shell) 係唔少 Linux Distro 嘅 script shell (/bin/sh) ,你實會用到
講完

TOP