GNU/Linux >> Belajar Linux >  >> Linux

Apa yang Dilakukan "set -f" Di Korn Shell?

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 dari a ke z , atau 1 atau 2 )
  • daftar yang tidak cocok (mis. [^a-z] =karakter apa pun yang tidak berada dalam rentang a ke z )
  • 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??

Linux
  1. Apa?

  2. Apa Arti Ampersand Di Akhir Baris Skrip Shell?

  3. Apa itu Exec 3?

  1. Apa arti set -e dalam skrip bash?

  2. Apa arti sintaks |&dalam bahasa shell?

  3. Apa yang dilakukan `set -x`?

  1. Apa Artinya `:-` Dalam Skrip Shell?

  2. Apa yang dilakukan % di string shell Linux?

  3. Apa yang dilakukan kill -- -0?