Dalam buku "A guide to aix 3.2", dikatakan bahwa seseorang dapat menggunakan perintah Korn Shell set -f
untuk “menonaktifkan pembuatan nama file”, tetapi apa artinya?
Apa yang terjadi dengan set -f
?
Jawaban yang Diterima:
set -f
adalah cara portabel (yaitu POSIX) untuk menonaktifkan perluasan nama file.
Saat diaktifkan (secara default atau dengan set +f
), perluasan nama file adalah operasi yang dilakukan oleh shell yang menggantikan, jika memungkinkan, argumen baris perintah yang berisi:
- kemunculan karakter pengganti (
?
=sembarang karakter dan*
=sejumlah karakter) - rentang yang diapit tanda kurung siku (mis.
[a-z12]
=karakter apapun daria
kez
, atau1
atau2
) - daftar yang tidak cocok (mis.
[^a-z]
=karakter apa pun yang tidak berada dalam rentanga
kez
) - dan kelas karakter (mis.
[[:xdigit:]]
=karakter apa pun yang dapat digunakan untuk mewakili bilangan heksadesimal)
dengan nama file yang cocok dengannya.
Saat dinonaktifkan, argumen ini dibiarkan tidak berubah.
$ pwd
/etc/samba
$ echo *
lmhosts smb.conf
$ echo *o??
smb.conf
$ set -f
$ echo *
*
$ echo *o??
*o??