ternyata gini juga bisa lho #rm '$1' pake single quote
$ itu adalah special character di shell, umumnya utk penanda variable yg nantinya akan disubstitusi. Jadi $i di atas artinya adalah variable yg namanya i, dia akan cari di environment utk variable yg namanya i. Maka kalo isi variable i (atau $i) adalah "unyil" maka saat menjalankan 'rm $i' yg benar2 dijalankan oleh shell adalah 'rm unyil', si program 'rm' itu tidak tau menahu soal $i, yg tau adalah shell.
Kalo variable i tidak ada isinya ya rm akan jalan seperti tanpa ada argumen aja (atau tepatnya 1 argumen null, karena kalo dijalankan tanpa argumen rm akan complain).
Variable substitution ini tidak akan dilakukan kalo:
- $ di-escape dg backslash sehingga artinya menjadi literal $, bukan penanda variable, dan
- $i dimasukin tanda kutip satu, karena di dalam kutip satu tidak akan dilakukan substitusi.
FAQ juga soal rm ini adalah bagaimana menghapus file yg namanya diawali dg tanda "-", jawabannya ada di 'man rm' yaitu dg 'rm -- -namafile'.
Ronny
-- Berhenti langganan: [EMAIL PROTECTED] Arsip dan info: http://linux.or.id/milis.php

