GoGPT Best VPN GoSearch

favorit OnWorks

ksh93 - Online di Cloud

Jalankan ksh93 di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows, atau emulator online MAC OS

Ini adalah perintah ksh93 yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


ksh, rksh, ksh93, rksh93 - KornShell, perintah dan pemrograman standar/terbatas
bahasa

RINGKASAN


ksh [ ±abcefhikmnoprstuvxBCDP ] [ -R berkas ] [ ±0 pilihan ] ... [ - ] [argumen... ]
rksh [ ±abcefhikmnoprstuvxBCD ] [ -R berkas ] [ ±0 pilihan ] ... [ - ] [argumen... ]

DESKRIPSI


Ksh adalah perintah dan bahasa pemrograman yang mengeksekusi perintah yang dibaca dari terminal atau a
file. Rksh adalah versi terbatas dari juru bahasa perintah ksh; juru bahasa perintah
ksh; Lihat Doa di bawah ini untuk arti argumen ke shell.

Definisi.
A karakter meta adalah salah satu dari karakter berikut:

; & ( ) < > garis baru ruang tab

A kosong adalah tab atau ruang. Sebuah identifier adalah urutan huruf, angka, atau
garis bawah dimulai dengan huruf atau garis bawah. Identifier digunakan sebagai komponen dari
variabel nama. A nama v adalah urutan dari satu atau lebih pengidentifikasi yang dipisahkan oleh . dan
opsional didahului oleh a .. Vnames digunakan sebagai nama fungsi dan variabel. A kata adalah
urutan karakter dari set karakter yang ditentukan oleh lokal saat ini, tidak termasuk
tidak dikutip karakter meta.

A Command adalah urutan karakter dalam sintaks bahasa shell. Kerang
membaca setiap perintah dan melakukan tindakan yang diinginkan baik secara langsung atau dengan memanggil
utilitas terpisah. Perintah bawaan adalah perintah yang dilakukan oleh shell
sendiri tanpa menciptakan proses yang terpisah. Beberapa perintah sudah ada di dalamnya murni untuk
kenyamanan dan tidak didokumentasikan di sini. Built-in yang menyebabkan efek samping di shell
lingkungan dan built-in yang ditemukan sebelum melakukan pencarian jalur (lihat Execution
bawah) didokumentasikan di sini. Untuk alasan historis, beberapa bawaan ini berperilaku
berbeda dari built-in lainnya dan disebut khusus bawaan.

Perintah.
A perintah sederhana adalah daftar tugas variabel (lihat Variabel Tugas di bawah) atau a
urutan kosong kata-kata terpisah yang mungkin didahului oleh daftar tugas variabel
(Lihat Lingkungan Hidup di bawah). Kata pertama menentukan nama perintah yang akan dieksekusi.
Kecuali seperti yang ditentukan di bawah ini, kata-kata yang tersisa diteruskan sebagai argumen ke yang dipanggil
memerintah. Nama perintah dilewatkan sebagai argumen 0 (lihat eksekutif(2)). NS nilai sederhana-
perintah adalah status keluarnya; 0-255 jika berakhir secara normal; 256+tanda tangan jika itu berakhir
secara tidak normal (nama sinyal yang sesuai dengan status keluar dapat diperoleh melalui
itu -l pilihan dari membunuh utilitas bawaan).

A pipa saluran adalah urutan dari satu atau lebih perintah dipisahkan oleh . Keluaran standar dari
setiap perintah tetapi yang terakhir dihubungkan oleh a pipa(2) ke input standar berikutnya
memerintah. Setiap perintah, kecuali mungkin yang terakhir, dijalankan sebagai proses terpisah; kerang
menunggu perintah terakhir untuk mengakhiri. Status keluar dari pipa adalah status keluar
dari perintah terakhir kecuali kegagalan pipa opsi diaktifkan. Setiap pipa dapat didahului
oleh dilindungi kata ! yang menyebabkan status keluar dari pipa menjadi 0 jika
status keluar dari perintah terakhir bukan nol, dan 1 jika status keluar dari perintah terakhir
adalah 0.

A daftar adalah urutan dari satu atau lebih pipa yang dipisahkan oleh: ;, &, &, &&, atau ⎪⎪., dan
opsional diakhiri oleh ;, &, atau &. Dari kelima simbol tersebut, ;, &, dan & memiliki persamaan
didahulukan, yang lebih rendah dari && dan ⎪⎪.. Simbol-simbol && dan ⎪⎪. juga memiliki persamaan
hak lebih tinggi. Sebuah titik koma (;) menyebabkan eksekusi berurutan dari pipa sebelumnya; NS
simbol untuk 'dan (&) menyebabkan eksekusi asinkron dari pipa sebelumnya (yaitu, shell
tidak tidak tunggu sampai pipa itu selesai). Simbol & menyebabkan eksekusi asinkron
dari pipa sebelumnya dengan pipa dua arah yang dipasang ke kulit induk; NS
input dan output standar dari pipeline yang dihasilkan dapat ditulis dan dibaca oleh
shell induk dengan menerapkan operator pengalihan <& dan >& dengan argumen p untuk perintah dan oleh
menggunakan -p opsi perintah bawaan Baca baca dan mencetak dijelaskan nanti. Simbol &&
(⎪⎪.) menyebabkan daftar mengikutinya untuk dieksekusi hanya jika pipa sebelumnya mengembalikan a
nilai nol (bukan nol). Satu atau lebih baris baru mungkin muncul di a daftar bukannya titik koma,
untuk membatasi perintah. Pertama barang yang pertama pipa saluran dari daftar itu sederhana
perintah tidak dimulai dengan pengalihan, dan tidak terjadi dalam a sementara, sampai, atau if
daftar, dapat didahului dengan titik koma. Titik koma ini diabaikan kecuali perlihatkan pada saya Option
diaktifkan seperti yang dijelaskan dengan set bawaan di bawah ini.

A Command adalah perintah sederhana atau salah satu dari berikut ini. Kecuali dinyatakan lain,
nilai yang dikembalikan oleh sebuah perintah adalah nilai dari perintah sederhana terakhir yang dieksekusi di
perintah.

untuk nama v [ in kata ... ] ;melakukan daftar ;selesai
Setiap kali a untuk perintah dijalankan, nama v diatur ke yang berikutnya kata diambil dari
in kata Daftar. Jika in kata ... dihilangkan, maka untuk perintah mengeksekusi do
daftar sekali untuk setiap parameter posisi yang disetel mulai dari 1 (Lihat Parameter
Perluasan di bawah). Eksekusi berakhir ketika tidak ada lagi kata dalam daftar.

untuk (( [expr1] ; [expr2] ; [expr3] )) ;melakukan daftar ;selesai
Ekspresi aritmatika expr1 dievaluasi terlebih dahulu (lihat Hitung evaluasi
di bawah). Ekspresi aritmatika expr2 berulang kali dievaluasi sampai dievaluasi
ke nol dan ketika bukan nol, daftar dieksekusi dan ekspresi aritmatika expr3
dievaluasi. Jika ada ekspresi yang dihilangkan, maka ekspresi tersebut akan berperilaku seolah-olah dievaluasi ke 1.

memilih nama v [ in kata ... ] ;melakukan daftar ;selesai
A memilih perintah dicetak pada kesalahan standar (deskriptor file 2) kumpulan katas,
masing-masing didahului dengan angka. Jika in kata ... dihilangkan, maka posisi
parameter mulai dari 1 digunakan sebagai gantinya (lihat Parameter Perluasan di bawah). NS
PS3 prompt dicetak dan garis dibaca dari input standar. Jika garis ini
terdiri dari nomor salah satu yang terdaftar katas, maka nilai variabel
nama v diatur ke kata sesuai dengan nomor ini. Jika baris ini kosong,
daftar pilihan dicetak lagi. Jika tidak, nilai variabel nama v diatur
untuk nol. Isi baris yang dibaca dari input standar disimpan di
variabel BALASAN. itu daftar dieksekusi untuk setiap pilihan sampai a istirahat or akhir dari-
fillet ditemui. jika BALASAN variabel diatur ke nol dengan eksekusi
daftar, kemudian daftar pilihan dicetak sebelum menampilkan PS3 meminta untuk
seleksi berikutnya.

kasus kata in [[(]belt hold [ belt hold ] ... ) daftar ;; ] ... esac
A kasus perintah mengeksekusi daftar terkait dengan yang pertama belt hold yang cocok
kata. Bentuk polanya sama dengan yang digunakan untuk pembuatan nama file
(Lihat File Nama Generasi di bawah). NS ;; operator menyebabkan eksekusi kasus untuk
mengakhiri. Jika ;& digunakan sebagai pengganti ;; daftar berikutnya berikutnya, jika ada, adalah
dieksekusi.

if daftar ;kemudian daftar [ ;elif daftar ;kemudian daftar ] ... [ ;lain daftar ] ; fi
The daftar berikut if dijalankan dan, jika mengembalikan status keluar nol, daftar
mengikuti yang pertama kemudian dieksekusi. Jika tidak, daftar berikut elif is
dieksekusi dan, jika nilainya nol, daftar mengikuti selanjutnya kemudian dieksekusi.
Gagal setiap berturut-turut elif daftar, yang lain daftar dieksekusi. jika if daftar memiliki
status keluar bukan nol dan tidak ada lain daftar, lalu if perintah mengembalikan nol
status keluar.

sementara daftar ;melakukan daftar ;selesai
sampai daftar ;melakukan daftar ;selesai
A sementara perintah berulang kali mengeksekusi sementara daftar dan, jika status keluar dari
perintah terakhir dalam daftar adalah nol, jalankan do daftar; jika tidak, loop
berakhir. Jika tidak ada perintah di do daftar dieksekusi, maka sementara Command
mengembalikan status keluar nol; sampai dapat digunakan sebagai pengganti sementara untuk meniadakan loop
tes terminasi.

((ekspresi))
The ekspresi dievaluasi menggunakan aturan untuk evaluasi aritmatika yang dijelaskan
di bawah. Jika nilai ekspresi aritmatika bukan nol, status keluarnya adalah
0, jika tidak, status keluarnya adalah 1.

(daftar)
Eksekusi daftar dalam lingkungan yang terpisah. Perhatikan, bahwa jika dua yang berdekatan terbuka
tanda kurung diperlukan untuk bersarang, spasi harus disisipkan untuk menghindari evaluasi sebagai
perintah aritmatika seperti yang dijelaskan di atas.

{ daftar;}
daftar dijalankan begitu saja. Perhatikan bahwa tidak seperti metakarakter ( dan ), { dan } adalah
dilindungi katas dan harus terjadi pada awal baris atau setelah a ; agar
diakui.

[[ ekspresi ]]
Mengevaluasi ekspresi dan mengembalikan status keluar nol ketika ekspresi adalah benar. Lihat
Bersyarat Ekspresi di bawah ini, untuk deskripsi ekspresi.

fungsi nama belakang { daftar ;}
nama belakang () { daftar ;}
Tentukan fungsi yang direferensikan oleh nama belakang. Sebuah fungsi yang nama belakang
mengandung a . disebut fungsi disiplin dan bagian dari nama belakang
mendahului yang terakhir . harus mengacu pada variabel yang ada. Tubuh fungsi
adalah daftar perintah antara { dan }. Sebuah fungsi yang didefinisikan dengan fungsi
nama belakang sintaks juga dapat digunakan sebagai argumen untuk . perintah bawaan khusus
untuk mendapatkan perilaku yang setara seolah-olah nama belakang() sintaks digunakan untuk mendefinisikannya.
(Lihat Fungsi di bawah.)

namespace identifier { daftar ;}
Mendefinisikan atau menggunakan ruang nama identifier dan menjalankan perintah di daftar dalam
ruang nama. (Lihat Nama Spaces di bawah.)

& [ nama [ argumen... ] ]
Penyebab selanjutnya daftar perintah diakhiri oleh & untuk ditempatkan di pekerjaan latar belakang
kolam nama. Jika nama dihilangkan, kumpulan default tanpa nama digunakan. Perintah dalam nama
kumpulan latar belakang dapat dieksekusi dari jarak jauh.

waktu [ pipa saluran ]
If pipa saluran dihilangkan pengguna dan waktu sistem untuk shell saat ini dan selesai
proses anak dicetak pada kesalahan standar. Sebaliknya, pipa saluran dijalankan dan
waktu yang telah berlalu serta waktu pengguna dan sistem dicetak pada kesalahan standar.
The FORMAT WAKTU variabel dapat diatur ke string format yang menentukan bagaimana waktunya
informasi harus ditampilkan. Lihat Kulit Variabel di bawah ini untuk deskripsi
itu FORMAT WAKTU variabel.

Kata-kata yang dicadangkan berikut diakui sebagai kata-kata yang dicadangkan hanya jika itu adalah kata pertama
dari sebuah perintah dan tidak dikutip:

if kemudian lain elif fi kasus esac untuk sementara sampai do dilakukan { } fungsi memilih waktu [[ ]] !

Variabel Tugas.
Satu atau lebih tugas variabel dapat memulai perintah sederhana atau dapat menjadi argumen untuk
mengeset, enum, ekspor, atau dibaca saja perintah built-in khusus serta lainnya
perintah deklarasi dibuat sebagai tipe. Sintaks untuk tugas berbentuk:

nama belakang=kata
nama belakang[kata]=kata
Tidak ada ruang yang diizinkan antara nama belakang dan = atau antara = dan kata.

nama belakang=(daftar_tugas)
Tidak ada ruang yang diizinkan antara nama belakang dan =. Variabel nama belakang tidak disetel
sebelum penugasan. NS daftar_tugas dapat berupa salah satu dari berikut ini:
kata ...
Tugas array yang diindeks.
[kata]=kata ...
Penugasan array asosiatif. Jika didahului oleh mengeset -a ini akan
buat array yang diindeks sebagai gantinya.
tugas ...
Tugas variabel majemuk. Ini menciptakan variabel majemuk
nama belakang dengan sub-variabel bentuk nama belakang.nama, Di mana nama is
bagian nama dari tugas. Nilai dari nama belakang akan berisi
semua elemen penugasan. Tugas tambahan dibuat untuk sub-
variabel dari nama belakang juga akan ditampilkan sebagai bagian dari nilai
nama belakang. Jika tidak tugass ditentukan, nama belakang akan menjadi
variabel majemuk yang memungkinkan elemen turunan berikutnya didefinisikan.
mengeset [Pilihan] tugas ...
Penugasan variabel bersarang. Beberapa tugas dapat ditentukan
dengan memisahkan masing-masing dengan ;. Nilai sebelumnya tidak disetel
sebelum penugasan. Perintah deklarasi lainnya seperti hanya bisa dibaca,
enum, dan perintah deklarasi lainnya dapat digunakan sebagai pengganti
mengeset.
. nama file
Sertakan perintah penugasan yang terdapat dalam nama file.

Selain itu, a += dapat digunakan sebagai pengganti = untuk menandakan menambah atau menambahkan ke
nilai sebelumnya. Kapan += diterapkan pada tipe aritmatika, kata dievaluasi sebagai
ekspresi aritmatika dan ditambahkan ke nilai saat ini. Ketika diterapkan ke variabel string,
nilai yang ditentukan oleh kata ditambahkan ke nilai. Untuk tugas majemuk,
nilai sebelumnya tidak disetel dan nilai baru ditambahkan ke nilai saat ini yang disediakan
bahwa jenisnya kompatibel.

Sisi kanan penugasan variabel mengalami semua ekspansi yang tercantum di bawah ini:
kecuali pemisahan kata, ekspansi penjepit, dan pembuatan nama file. Ketika sisi kiri
adalah tugas adalah variabel majemuk dan tangan kanan adalah nama senyawa
variabel, variabel majemuk di sebelah kanan akan disalin atau ditambahkan ke senyawa
variabel di sebelah kiri.

Komentar.
Sebuah kata yang dimulai dengan # menyebabkan kata itu dan semua karakter berikut menjadi baris baru
untuk diabaikan.
Alias.
Kata pertama dari setiap perintah diganti dengan teks an alias jika alias untuk ini
kata telah ditentukan. NS alias nama terdiri dari sejumlah karakter tidak termasuk
metakarakter, karakter kutipan, karakter ekspansi file, ekspansi parameter dan
karakter substitusi perintah, karakter / dan =. Tali pengganti bisa
berisi skrip shell yang valid termasuk metakarakter yang tercantum di atas. Kata pertama
dari setiap perintah dalam teks yang diganti, selain dari yang sedang dalam proses
diganti, akan diuji untuk alias. Jika karakter terakhir dari nilai alias adalah a kosong
maka kata yang mengikuti alias juga akan diperiksa untuk penggantian alias. Alias
dapat digunakan untuk mendefinisikan kembali perintah bawaan tetapi tidak dapat digunakan untuk mendefinisikan kembali yang dipesan
kata-kata yang tercantum di atas. Alias ​​​​dapat dibuat dan dicantumkan dengan alias perintah dan bisa
dihapus dengan Unalias perintah.
Mengasingkan dilakukan saat skrip dibaca, bukan saat dieksekusi. Oleh karena itu, untuk
alias berlaku, the alias perintah definisi harus dijalankan sebelum
perintah yang mereferensikan alias dibaca.
Alias ​​​​berikut ini dikompilasi ke dalam shell tetapi dapat tidak disetel atau didefinisikan ulang:
autoload=′mengetik -fu'
perintah = perintah '
gabungan = typeset -C'
fc = hist
float = typeset -lE′
fungsi = mengetik -F'
hash = alias -t --′
sejarah = historis -aku'
bilangan bulat = set jenis -li′
nameref=′set huruf -n'
nohup='nohup '
r=historis -S'
redirect=′perintah eksekutif
sumber=′perintah .′
berhenti = bunuh -s BERHENTI'
menangguhkan = membunuh -s BERHENTI $$′
kali=′{ { waktu;} 2>&1;}′
jenis = dari mana -v′

Tilde Pengganti.
Setelah substitusi alias dilakukan, setiap kata diperiksa untuk melihat apakah itu dimulai dengan an
tidak dikutip ~. Untuk substitusi pasang surut, kata juga mengacu pada kata bagian dari parameter
ekspansi (lihat Parameter Perluasan di bawah). Jika ya, maka kata hingga a / diperiksa
untuk melihat apakah itu cocok dengan nama pengguna di basis data kata sandi (Lihat getpwname(3).) Jika cocok
ditemukan, ~ dan nama login yang cocok diganti dengan direktori login dari
pengguna yang cocok. Jika tidak ditemukan kecocokan, teks asli dibiarkan tidak berubah. A ~ dengan sendirinya,
atau di depan /, diganti oleh $ HOME. Sebuah ~ diikuti dengan + or - digantikan oleh
nilai $PWD dan $OLDPWD masing.

Selain itu, ketika memperluas variabel tugas, tilde substitusi dicoba ketika
nilai tugas dimulai dengan ~, dan ketika ~ muncul setelah :. itu : juga
berakhir ~ nama login.

perintah Pengganti.
Output standar dari daftar perintah yang diapit tanda kurung didahului dengan tanda dolar
( $(daftar) ), atau dalam kelompok kurung kurawal yang didahului dengan tanda dolar ( ${ daftar;} ), atau dalam pasangan
aksen serius (``) dapat digunakan sebagai sebagian atau seluruh kata; trailing new-baris dihapus.
Dalam kasus kedua, { dan } diperlakukan sebagai kata-kata yang dicadangkan sehingga { harus diikuti
oleh kosong dan } harus muncul di awal baris atau mengikuti a ;. Yang ketiga
(usang), string di antara tanda kutip diproses untuk karakter tanda kutip khusus
sebelum perintah dijalankan (lihat Mengutip di bawah). Substitusi perintah $(kucing mengajukan)
dapat diganti dengan yang setara tetapi lebih cepat $(. Substitusi perintah $(n<#)
akan diperluas ke offset byte saat ini untuk deskriptor file n. Kecuali bentuk kedua,
daftar perintah dijalankan dalam subkulit sehingga tidak ada efek samping yang mungkin terjadi. Untuk
bentuk kedua, final } akan dikenali sebagai kata yang dicadangkan setelah token apa pun.

Hitung Pengganti.
Ekspresi aritmatika yang diapit dalam tanda kurung ganda didahului oleh tanda dolar ( $(())
) diganti dengan nilai ekspresi aritmatika di dalam tanda kurung ganda.

Proses Pengganti.
Setiap argumen perintah dari formulir <(daftar) or >(daftar) akan menjalankan proses daftar tidak sinkron
terhubung ke beberapa file di /dev/fd jika direktori ini ada, atau fifo sementara
direktori. Nama file ini akan menjadi argumen untuk perintah. Jika bentuknya
dengan > dipilih maka tulisan pada file ini akan memberikan masukan untuk daftar. Jika < digunakan,
maka file yang diteruskan sebagai argumen akan berisi output dari daftar proses. Untuk
contoh,

paste <(potong -f1 file1) <(potong -f3 file2) | tee >(proses1) >(proses2)

pemotongan bidang 1 dan 3 dari file file1 dan file2 masing-masing, pasta hasil
bersama-sama, dan mengirimkannya ke proses proses1 dan proses2, serta meletakkannya di
keluaran standar. Perhatikan bahwa file, yang diteruskan sebagai argumen ke perintah,
adalah UNIX pipa(2) jadi program yang diharapkan mencari(2) pada file tidak akan bekerja.

Proses penggantian formulir <(daftar) juga dapat digunakan dengan < operator pengalihan
yang menyebabkan keluaran dari daftar menjadi input standar atau input untuk file apa pun
deskriptor ditentukan.

Parameter Ekspansi.
A parameter adalah variabel, satu atau lebih digit, atau salah satu karakter , @, #, ?, -, $,
dan !. Sebuah variabel dilambangkan dengan nama v. Untuk membuat variabel yang nama v mengandung a .,
variabel yang nama v terdiri dari segalanya sebelum yang terakhir . harus sudah ada. A
variabel memiliki nilai dan nol atau lebih atribut. Variabel dapat ditugaskan nilai-nilai dan
atribut dengan menggunakan mengeset perintah bawaan khusus. Atribut yang didukung oleh
shell dijelaskan kemudian dengan mengeset perintah bawaan khusus. Variabel yang diekspor
meneruskan nilai dan atribut ke lingkungan.

Shell mendukung array yang diindeks dan asosiatif. Sebuah elemen dari variabel array
dirujuk oleh subskrip. Sebuah subskrip untuk array yang diindeks dilambangkan dengan an
hitung ekspresi (Lihat Hitung evaluasi bawah) antara a [ dan ]. Untuk menetapkan
nilai ke array yang diindeks, gunakan nama v=(nilai ...) or set -A nama v nilai ... . Nilai
dari semua subskrip non-negatif harus dalam kisaran 0 hingga 4,194,303. Sebuah negatif
subscript diperlakukan sebagai offset dari indeks arus maksimum +1 sehingga -1 mengacu pada
elemen terakhir. Array yang diindeks dapat dideklarasikan dengan -a pilihan untuk mengeset. Indexed
array tidak perlu dideklarasikan. Referensi apa pun ke variabel dengan subskrip yang valid adalah legal
dan array akan dibuat jika perlu.

Array asosiatif dibuat dengan -A pilihan untuk mengeset. A subskrip untuk
array asosiatif dilambangkan dengan string yang diapit antara [ dan ].

Mereferensikan array apa pun tanpa subskrip sama dengan mereferensikan array dengan
subskrip 0.

The nilai dari variabel dapat diberikan secara tertulis:

nama v=nilai [ nama v=nilai ] ...

or
nama v[subskrip]=nilai [ nama v[subskrip]=nilai ] ...
Perhatikan bahwa tidak ada spasi yang diperbolehkan sebelum atau sesudah =.
Atribut yang diberikan oleh mengeset perintah built-in khusus berlaku untuk semua elemen dari
Himpunan. Elemen array dapat berupa variabel sederhana, variabel majemuk, atau array
variabel. Elemen dari array yang diindeks dapat berupa array yang diindeks atau asosiatif
Himpunan. Elemen dari array asosiatif juga dapat berupa. Untuk merujuk ke array
elemen yang merupakan bagian dari elemen array, gabungkan subskrip dalam tanda kurung. Untuk
contoh, untuk merujuk ke foobar elemen dari array asosiatif yang didefinisikan sebagai
elemen ketiga dari array yang diindeks, gunakan ${nama v[3][foobar]}
A namaref adalah sebuah variabel yang menjadi acuan bagi variabel lain. Nameref dibuat
pada pengatur terkenal. Pengatur ini menawarkan bantuan hukum kepada traderapabila trader berselisih dengan broker yang terdaftar dengan mereka. -n atribut dari mengeset. Nilai variabel pada saat mengeset
perintah menjadi variabel yang akan direferensikan setiap kali variabel nameref adalah
digunakan. Nama nameref tidak boleh mengandung a .. Ketika nama variabel atau fungsi
mengandung a ., dan bagian nama hingga yang pertama . cocok dengan nama nameref,
variabel dimaksud diperoleh dengan mengganti bagian nameref dengan nama
variabel yang direferensikan oleh nameref. Jika nameref digunakan sebagai indeks dari a untuk lingkaran, a
referensi nama ditetapkan untuk setiap item dalam daftar. Nameref memberikan kenyamanan
cara untuk merujuk ke variabel di dalam fungsi yang namanya diteruskan sebagai argumen ke a
fungsi. Misalnya, jika nama variabel dilewatkan sebagai argumen pertama ke a
fungsi, perintah
mengeset -n var=$1
di dalam fungsi menyebabkan referensi dan penugasan ke adalah menjadi referensi dan
tugas ke variabel yang namanya telah diteruskan ke fungsi.
Jika salah satu atribut floating point, -E, -F, atau -X, atau atribut bilangan bulat, -i, Apakah
mengatur nama v, lalu nilai tunduk pada evaluasi aritmatika seperti yang dijelaskan di bawah ini.
Parameter posisi, parameter yang dilambangkan dengan angka, dapat diberi nilai dengan set
perintah bawaan khusus. Parameter $0 diatur dari argumen nol ketika shell adalah
dipanggil.
Karakter $ digunakan untuk memperkenalkan substitusi parameter.
${parameter}
Shell membaca semua karakter dari ${ ke pencocokan } sebagai bagian yang sama
kata meskipun mengandung kurung kurawal atau metakarakter. Nilai, jika ada, dari
parameter diganti. Kawat gigi diperlukan ketika parameter diikuti oleh a
huruf, angka, atau garis bawah yang tidak boleh ditafsirkan sebagai bagian dari namanya,
ketika nama variabel mengandung a .. Tanda kurung kurawal juga diperlukan ketika sebuah variabel
berlangganan kecuali itu adalah bagian dari Ekspresi Aritmatika atau Kondisional
Ekspresi. Jika parameter adalah satu atau lebih digit maka itu adalah parameter posisi.
Parameter posisi lebih dari satu digit harus diapit dengan kurung kurawal. Jika
parameter is or @, lalu semua parameter posisi, dimulai dengan $1, Adalah
diganti (dipisahkan oleh karakter pemisah bidang). Jika sebuah array nama v dengan
langganan terakhir @, atau untuk array indeks dari formulir sub1 .. sub2. digunakan, maka
nilai untuk setiap elemen di antara sub1 dan sub2 inklusif (atau semua elemen
untuk dan @) diganti, dipisahkan oleh karakter pertama dari nilai IFS.
${#parameter}
If parameter is or @, jumlah parameter posisi diganti.
Jika tidak, panjang nilai parameter diganti.
${#nama v[*]}
${#nama v[@]}
Jumlah elemen dalam array nama v diganti.

${@nama v}
Perluas ke nama jenis (Lihat Tipe Variabel bawah) atau atribut variabel
dirujuk oleh nama v.
${!nama v}
Memperluas ke nama variabel yang dirujuk oleh nama v. Ini akan menjadi nama v
kecuali kapan nama v adalah referensi nama.
${!nama v[subskrip]}
Perluas ke nama subskrip kecuali subskrip is *, @. atau bentuk sub1 ..
sub2. Ketika subskrip is *, daftar subskrip larik untuk nama v dihasilkan.
Untuk variabel yang bukan array, nilainya adalah 0 jika variabel tersebut disetel.
Kalau tidak, itu nol. Kapan subskrip is @, sama seperti di atas, kecuali jika digunakan dalam
tanda kutip ganda, setiap subskrip array menghasilkan argumen terpisah. Kapan subskrip is
dari bentuk sub1 .. sub2 itu meluas ke daftar subskrip antara sub1 dan
sub2 inklusif menggunakan aturan kutipan yang sama dengan @.
${!awalan*}
Memperluas ke nama-nama variabel yang namanya dimulai dengan awalan.
${parameter:-kata}
If parameter disetel dan bukan nol lalu substitusikan nilainya; jika tidak, gantikan
kata.
${parameter:=kata}
If parameter tidak disetel atau nol lalu setel ke kata; nilai parameternya
kemudian diganti. Parameter posisi tidak dapat ditetapkan dengan cara ini.
${parameter:?kata}
If parameter disetel dan bukan nol lalu substitusikan nilainya; jika tidak, cetak
kata dan keluar dari shell (jika tidak interaktif). Jika kata dihilangkan maka a
pesan standar dicetak.
${parameter:+kata}
If parameter diatur dan bukan nol lalu substitusikan kata; jika tidak, gantikan
apa-apa.
Di atas, kata tidak dievaluasi kecuali digunakan sebagai string pengganti, jadi
bahwa, dalam contoh berikut, pwd dijalankan hanya jika d tidak disetel atau nol:
cetak ${d:-$(pwd)}
Jika usus besar ( : ) dihilangkan dari ekspresi di atas, maka shell hanya memeriksa
apakah parameter diatur atau tidak.
${parameter:mengimbangi:panjangnya}
${parameter:mengimbangi}
Memperluas ke bagian dari nilai parameter mulai dari karakter
(dihitung dari 0) ditentukan dengan memperluas mengimbangi sebagai ekspresi aritmatika dan
terdiri dari jumlah karakter yang ditentukan oleh ekspresi aritmatika
didefinisikan oleh panjangnya. Dalam bentuk kedua, sisa nilai digunakan. Jika sebuah
negatif mengimbangi menghitung mundur dari akhir parameter. Perhatikan bahwa satu atau lebih
kosongs diperlukan di depan tanda minus untuk mencegah shell menafsirkan
operator sebagai :-. Jika parameter is or @, atau apakah nama array diindeks oleh or @,
kemudian mengimbangi dan panjangnya lihat indeks array dan jumlah elemen
masing-masing. Sebuah negatif mengimbangi diambil relatif terhadap satu yang lebih besar dari yang tertinggi
subskrip untuk array yang diindeks. Urutan untuk array asosiasi tidak ditentukan.
${parameter#belt hold}
${parameter##belt hold}
Jika cangkang belt hold cocok dengan awal nilai parameter, lalu
nilai ekspansi ini adalah nilai parameter dengan porsi yang pas
dihapus; jika tidak nilai ini parameter diganti. Dalam bentuk pertama
pola pencocokan terkecil dihapus dan dalam bentuk kedua yang terbesar
pola yang cocok dihapus. Kapan parameter is @, *, atau variabel array dengan
subskrip @ or *, operasi substring diterapkan ke setiap elemen secara bergantian.

${parameter%belt hold}
${parameter%%belt hold}
Jika cangkang belt hold cocok dengan akhir dari nilai parameter, maka nilai
ekspansi ini adalah nilai parameter dengan bagian yang cocok dihapus;
jika tidak, substitusikan nilai parameter. Dalam bentuk pertama yang terkecil
pola pencocokan dihapus dan dalam bentuk kedua pola pencocokan terbesar adalah
dihapus. Kapan parameter is @, *, atau variabel array dengan subscript @ or *, yang
operasi substring diterapkan pada setiap elemen secara bergantian.

${parameter/belt hold/string}
${parameter//belt hold/string}
${parameter/#belt hold/string}
${parameter/%belt hold/string}
Perluas parameter dan menggantikan pertandingan terpanjang belt hold dengan yang diberikan String.
Setiap terjadinya \n in string diganti dengan bagian parameter bahwa
cocok dengan n-sub-pola. Dalam bentuk pertama, hanya kemunculan pertama dari
belt hold diganti. Dalam bentuk kedua, setiap pertandingan untuk belt hold digantikan oleh
diberikan String. Bentuk ketiga membatasi kecocokan pola ke awal
string sedangkan bentuk keempat membatasi pencocokan pola sampai akhir string.
Ketika string adalah nol, belt hold akan dihapus dan / di depan string mungkin
dihilangkan. Kapan parameter is @, *, atau variabel array dengan subscript @ or *,
operasi substitusi diterapkan pada setiap elemen secara bergantian. Dalam hal ini,
string bagian dari kata akan dievaluasi kembali untuk setiap elemen.

Parameter berikut secara otomatis diatur oleh shell:
# Jumlah parameter posisi dalam desimal.
- Opsi dipasok ke shell saat dipanggil atau oleh set perintah.
? Nilai desimal yang dikembalikan oleh perintah yang terakhir dieksekusi.
$ Nomor proses dari shell ini.
_ Awalnya, nilai _ adalah nama path absolut dari shell atau skrip
dieksekusi seperti yang disahkan dalam lingkungan Hidup. Selanjutnya ditugaskan
argumen terakhir dari perintah sebelumnya. Parameter ini tidak disetel untuk
perintah yang tidak sinkron. Parameter ini juga digunakan untuk menahan
nama yang cocok MAIL file saat memeriksa surat. Saat mendefinisikan
variabel majemuk atau tipe, _ diinisialisasi sebagai referensi ke senyawa
variabel atau jenis. Ketika fungsi disiplin dipanggil, _ diinisialisasi
sebagai referensi ke variabel yang terkait dengan panggilan ke fungsi ini.
Akhirnya kapan _ digunakan sebagai nama variabel pertama dari suatu tipe
definisi, tipe baru diturunkan dari tipe variabel pertama (Lihat
Tipe Variabel di bawah.).
! Id proses atau nama kumpulan dan nomor pekerjaan dari latar belakang terakhir
perintah dipanggil atau pekerjaan terbaru diletakkan di latar belakang dengan bg
perintah bawaan. Pekerjaan latar belakang yang dimulai di kumpulan bernama akan ada di
bentuk kolam.jumlah dimana kolam adalah nama kolam dan jumlah adalah nomor pekerjaan
di dalam kolam itu.
.sh.perintah
Saat memproses DEBUG perangkap, variabel ini berisi perintah saat ini
garis yang akan dijalankan.
.sh.edchar
Variabel ini berisi nilai dari karakter keyboard (atau urutan dari
karakter jika karakter pertama adalah ESC, ascii 033) yang telah
dimasukkan saat memproses a KEYBD perangkap (lihat kunci Bindings di bawah). Jika nilai
diubah sebagai bagian dari aksi jebakan, maka nilai baru menggantikan kunci
(atau urutan kunci) yang menyebabkan jebakan.
.sh.edcol
Posisi karakter kursor pada saat yang paling baru KEYBD
perangkap.
.sh.edmode
Nilai diatur ke ESC saat memproses a KEYBD jebakan saat masuk vi menyisipkan
mode. (Lihat Vi Mengedit mode di bawah.) Jika tidak, .sh.edmode adalah nol ketika
memproses KEYBD perangkap.
.sh.edtext
Karakter dalam buffer input pada saat yang paling baru KEYBD
perangkap. Nilainya nol saat tidak memproses KEYBD perangkap.
.sh.file
Nama path file dari berisi perintah saat ini.
.sh.menyenangkan
Nama fungsi saat ini yang sedang dieksekusi.
.sh.tingkat
Atur ke kedalaman fungsi saat ini. Ini dapat diubah di dalam perangkap DEBUG
dan akan mengatur konteks ke tingkat yang ditentukan.
.sh.lineno
Setel selama perangkap DEBUG ke nomor saluran untuk pemanggil setiap fungsi.
.sh.cocok
Array terindeks yang menyimpan kecocokan terbaru dan kecocokan sub-pola
setelah pola bersyarat cocok dengan yang cocok dan setelah variabel ekspansi
menggunakan operator #, %, atau /. itu 0-elemen menyimpan kecocokan lengkap
dan i-th. elemen menyimpan i- subpertandingan. NS .sh.cocok variabel
menjadi tidak disetel ketika variabel yang telah diperluas diberi nilai baru.
.sh.math
Digunakan untuk mendefinisikan fungsi aritmatika (lihat Hitung evaluasi bawah).
dan menyimpan daftar fungsi aritmatika yang ditentukan pengguna.
.sh.nama
Ditetapkan ke nama variabel pada saat fungsi disiplin adalah
dipanggil.
.sh.subskrip
Setel ke subskrip nama variabel pada saat disiplin
fungsi dipanggil.
.sh.subkulit
Kedalaman saat ini untuk subkulit dan substitusi perintah.
.sh.nilai
Setel ke nilai variabel pada saat set or menambahkan
fungsi disiplin dipanggil. Ketika fungsi aritmatika yang ditentukan pengguna adalah
dipanggil, nilai .sh.nilai disimpan dan .sh.nilai diatur ke panjang ganda
titik mengambang presisi. .sh.nilai dikembalikan ketika fungsi kembali.
.sh.versi
Setel ke nilai yang mengidentifikasi versi shell ini.
KSH_VERSION
Sebuah referensi nama untuk .sh.versi.
LINENO Nomor baris saat ini dalam skrip atau fungsi yang sedang dieksekusi.
TUA WD Direktori kerja sebelumnya ditetapkan oleh cd perintah.
MEMILIH Nilai argumen opsi terakhir yang diproses oleh getopt built-in
perintah.
MEMILIH Indeks argumen opsi terakhir yang diproses oleh getopt built-in
perintah.
PPID Nomor proses induk dari shell.
PWD Direktori kerja saat ini ditetapkan oleh cd perintah.
ACAK Setiap kali variabel ini direferensikan, bilangan bulat acak, seragam
didistribusikan antara 0 dan 32767, dihasilkan. Urutan acak
angka dapat diinisialisasi dengan menetapkan nilai numerik ke ACAK.
BALASAN Variabel ini diatur oleh memilih pernyataan dan oleh Baca baca built-in
perintah ketika tidak ada argumen yang diberikan.
DETIK
Setiap kali variabel ini direferensikan, jumlah detik sejak shell
doa dikembalikan. Jika variabel ini diberi nilai, maka
nilai yang dikembalikan setelah referensi akan menjadi nilai yang diberikan ditambah
jumlah detik sejak penugasan.
SHLVL Variabel integer yang bertambah setiap kali shell dipanggil dan adalah
diekspor. Jika SHLVL tidak ada di lingkungan saat shell dipanggil, itu
diatur ke 1.

Variabel berikut digunakan oleh shell:
CDPATH Jalur pencarian untuk cd perintah.
KOLOM
Jika variabel ini disetel, nilainya digunakan untuk menentukan lebar edit
jendela untuk mode edit shell dan untuk mencetak memilih daftar.
EDITOR Jika VISUAL variabel tidak disetel, nilai variabel ini akan menjadi
memeriksa pola seperti yang dijelaskan dengan VISUAL di bawah dan
opsi pengeditan yang sesuai (lihat Perintah Khusus set di bawah) akan diputar
pada.
ENV Jika variabel ini disetel, maka ekspansi parameter, substitusi perintah, dan
substitusi aritmatika dilakukan pada nilai untuk menghasilkan nama path
dari skrip yang akan dieksekusi ketika shell dipanggil secara interaktif
(Lihat Doa di bawah). File ini biasanya digunakan untuk alias dan fungsi
definisi. Nilai defaultnya adalah $HOME/.kshrc. Pada sistem yang mendukung a
luas sistem /etc/ksh.kshrc file inisialisasi, jika nama file dihasilkan
dengan perluasan ENV dimulai dengan /./ or ././ sistem luas
file inisialisasi tidak akan dieksekusi.
FCEDIT Nama usang untuk nama editor default untuk hist perintah. FCEDIT is
tidak digunakan ketika SEJARAH diatur.
GAMBAR
Pola yang mendefinisikan kumpulan nama file yang akan diabaikan ketika
melakukan pencocokan nama file.
FPATH Jalur pencarian untuk definisi fungsi. Direktori di jalur ini adalah
mencari file dengan nama yang sama dengan fungsi atau perintah ketika a
fungsi dengan -u atribut direferensikan dan ketika perintah tidak
ditemukan. Jika file yang dapat dieksekusi dengan nama perintah itu ditemukan, maka
itu dibaca dan dieksekusi di lingkungan saat ini. Tidak seperti PATH, yang
direktori saat ini harus diwakili secara eksplisit oleh . daripada oleh
berdekatan : karakter atau awal atau akhir :.
HITCMD
Jumlah perintah saat ini dalam file riwayat.
SEJARAH
Nama untuk nama editor default untuk hist perintah.
FILE HIST
Jika variabel ini disetel saat shell dipanggil, maka nilainya adalah
nama path dari file yang akan digunakan untuk menyimpan riwayat perintah (lihat
perintah Masuk kembali bawah).
UKURAN SEJARAH
Jika variabel ini disetel saat shell dipanggil, maka jumlah
perintah yang dimasukkan sebelumnya yang dapat diakses oleh shell ini adalah
lebih besar dari atau sama dengan angka ini. Standarnya adalah 512.
HOME Argumen default (direktori home) untuk cd perintah.
IFS Pemisah medan internal, biasanya ruang, tab, dan garis baru yang digunakan
untuk memisahkan hasil substitusi perintah atau perluasan parameter dan
untuk memisahkan bidang dengan perintah bawaan Baca baca. Karakter pertama dari
itu IFS variabel digunakan untuk memisahkan argumen untuk "$∗" substitusi
(Lihat Mengutip di bawah). Setiap kejadian tunggal IFS karakter dalam
string yang akan dipisah, yang tidak ada di isspace kelas karakter, dan apa saja
karakter yang berdekatan di IFS yang ada di isspace kelas karakter, delimit
sebuah lapangan. Satu atau lebih karakter dalam IFS milik isspace karakter
kelas, membatasi bidang. Selain itu, jika sama isspace karakter muncul
berturut-turut di dalam IFS, karakter ini diperlakukan seolah-olah tidak ada di
isspace kelas, sehingga jika IFS terdiri dari dua tab karakter, lalu dua
berdekatan tab karakter membatasi bidang nol.
PEKERJAAN MAX Variabel ini mendefinisikan jumlah maksimum menjalankan pekerjaan latar belakang yang dapat
berjalan pada suatu waktu. Ketika batas ini tercapai, shell akan menunggu pekerjaan untuk
lengkap sebelum menatap pekerjaan baru.
BAHASA Variabel ini menentukan kategori lokal untuk setiap kategori tidak
dipilih secara khusus dengan variabel yang dimulai dengan LC_ or BAHASA.
LC_SEMUA Variabel ini menimpa nilai BAHASA variabel dan lainnya LC_
variabel.
LC_COLLATE
Variabel ini menentukan kategori lokal untuk susunan karakter
informasi.
LC_CTYPE
Variabel ini menentukan kategori lokal untuk penanganan karakter
fungsi. Ini menentukan kelas karakter untuk pencocokan pola (lihat
File Nama Generasi bawah).
LC_NUMERIC
Variabel ini menentukan kategori lokal untuk titik desimal
karakter.
LINES Jika variabel ini disetel, nilainya digunakan untuk menentukan panjang kolom
untuk dicetak memilih daftar. Pilih daftar akan dicetak secara vertikal sampai sekitar
dua pertiga dari LINES baris diisi.
MAIL Jika variabel ini disetel ke nama file email dan itu JALUR EMAIL variabel
tidak disetel, maka shell memberi tahu pengguna tentang kedatangan surat di
file tertentu.
CEK EMAIL
Variabel ini menentukan seberapa sering (dalam detik) shell akan memeriksa
perubahan waktu modifikasi dari salah satu file yang ditentukan oleh
JALUR EMAIL or MAIL variabel. Nilai default adalah 600 detik. Ketika
waktu telah berlalu, shell akan memeriksa sebelum mengeluarkan prompt berikutnya.
JALUR EMAIL
Sebuah titik dua ( : ) daftar nama file yang terpisah. Jika variabel ini disetel, maka
shell memberi tahu pengguna tentang modifikasi apa pun pada file tertentu yang
telah terjadi dalam waktu terakhir CEK EMAIL detik. Setiap nama file dapat berupa
diikuti dengan ? dan pesan yang akan dicetak. Pesan akan
menjalani ekspansi parameter, substitusi perintah, dan aritmatika
substitusi dengan variabel $_ didefinisikan sebagai nama file yang memiliki
berubah. Pesan defaultnya adalah Anda memiliki surat in $_.
PATH Jalur pencarian untuk perintah (lihat Execution di bawah). Pengguna tidak boleh berubah
PATH jika dijalankan di bawah rksh (kecuali di .Profil).
PS1 Nilai variabel ini diperluas untuk ekspansi parameter, perintah
substitusi, dan substitusi aritmatika untuk menentukan prompt utama
string yang secara default adalah ``$''. karakter ! di prompt utama
string diganti dengan Command nomor (lihat perintah Masuk kembali di bawah). Dua
kejadian berturut-turut dari ! akan menghasilkan satu ! ketika prompt string
dicetak.
PS2 String prompt sekunder, secara default ``> ''.
PS3 String prompt pemilihan digunakan dalam a memilih lingkaran, secara default ``#? ''.
PS4 Nilai variabel ini diperluas untuk evaluasi parameter, perintah
substitusi, dan substitusi aritmatika dan mendahului setiap baris dari an
jejak eksekusi. Secara default, PS4 adalah ``+ ''. Selain itu ketika PS4 tidak disetel,
prompt jejak eksekusi juga ``+ ''.
SHELL Nama jalur dari tempurung disimpan di lingkungan. Pada saat pemanggilan, jika
nama dasar dari variabel ini adalah rsh, rksh, atau krsh, maka cangkangnya menjadi
terbatas.
FORMAT WAKTU
Nilai parameter ini digunakan sebagai string format yang menentukan bagaimana
informasi waktu untuk saluran pipa yang diawali dengan waktu kata cadangan harus
ditampilkan. NS % karakter memperkenalkan urutan format yang diperluas
untuk nilai waktu atau informasi lainnya. Urutan format dan
pengertiannya adalah sebagai berikut.
%% Sebuah literal %.
%[p] [l] R Waktu yang berlalu dalam hitungan detik.
%[p] [l] kamu Jumlah detik CPU yang dihabiskan dalam mode pengguna.
%[p] [l] S Jumlah detik CPU yang dihabiskan dalam mode sistem.
%P Persentase CPU, dihitung sebagai (U + S) / R.

Tanda kurung menunjukkan bagian opsional. opsional p adalah angka yang menentukan
itu ketelitian, jumlah digit pecahan setelah titik desimal. A
nilai 0 menyebabkan tidak ada titik desimal atau pecahan yang akan dihasilkan. Paling banyak tiga
tempat setelah titik desimal dapat ditampilkan; nilai-nilai dari p lebih besar dari 3
diperlakukan sebagai 3. Jika p tidak ditentukan, nilai 3 digunakan.

Opsional l menentukan format yang lebih panjang, termasuk jam jika lebih besar dari
nol, menit, dan detik dari formulir HHhMMmSS.FFS. Nilai dari p
menentukan apakah pecahan tersebut termasuk atau tidak.

Semua karakter lain adalah output tanpa perubahan dan baris baru yang tertinggal adalah
ditambahkan. Jika tidak disetel, nilai default, $'\nnyata\t%2lR\nuser\t%2lU\nsys%2lS',
digunakan. Jika nilainya nol, tidak ada informasi waktu yang ditampilkan.

TM KELUAR Jika diatur ke nilai yang lebih besar dari nol, TM KELUAR akan menjadi nilai batas waktu default
untuk Baca baca perintah bawaan. NS memilih perintah majemuk berakhir setelah
TM KELUAR detik ketika input dari terminal. Jika tidak, cangkangnya akan
berhenti jika garis tidak dimasukkan dalam jumlah detik yang ditentukan
saat membaca dari terminal. (Perhatikan bahwa shell dapat dikompilasi dengan a
batas maksimum untuk nilai ini yang tidak dapat dilampaui.)

VISUAL Jika nilai variabel ini cocok dengan pola *[Vv][Ii]*, lalu vi
opsi (lihat Perintah Khusus set bawah) diaktifkan. Jika nilainya cocok
pola *gmac* , itu gmac opsi diaktifkan. Jika nilainya cocok
pola *mac*, lalu emacs opsi akan diaktifkan. Nilai dari
VISUAL mengesampingkan nilai EDITOR.

Shell memberikan nilai default ke PATH, PS1, PS2, PS3, PS4, CEK EMAIL, FCEDIT, TM KELUAR dan
IFS, Sementara HOME, SHELL, ENV, dan MAIL tidak diatur sama sekali oleh shell (meskipun HOME is
ditetapkan oleh masuk(1)). Pada beberapa sistem MAIL dan SHELL juga diatur oleh masuk(1).

Bidang Pemisahan.
Setelah ekspansi parameter dan substitusi perintah, hasil substitusi adalah
dipindai untuk karakter pemisah bidang (yang ditemukan di IFS) dan dibagi menjadi berbeda
bidang di mana karakter tersebut ditemukan. Bidang nol eksplisit ("" or '') dipertahankan.
Bidang nol implisit (yang dihasilkan dari parameter yang tidak memiliki nilai atau perintah
substitusi tanpa output) dihapus.

Jika braceexpand (-B) opsi diatur maka masing-masing bidang yang dihasilkan dari IFS adalah
diperiksa untuk melihat apakah mereka mengandung satu atau lebih pola penjepit {*,*}, {l1..l2} ,
{n1..n2} , {n1..n2% fmt} , {n1..n2 ..n3} , atau {n1..n2 ..n3%fmt} , Di mana * mewakili apapun
karakter, l1,l2 adalah huruf dan n1,n2,n3 adalah nomor bertanda dan fmt adalah format yang ditentukan
seperti yang digunakan oleh Printf. Dalam setiap kasus, bidang dibuat dengan menambahkan karakter sebelumnya
itu { dan menambahkan karakter setelah } ke masing-masing string yang dihasilkan oleh
karakter antara { dan }. Bidang yang dihasilkan diperiksa untuk melihat apakah ada
pola penjepit.

Dalam bentuk pertama, bidang dibuat untuk setiap string antara { dan ,, di antara , dan ,,
dan di antara , dan }. String diwakili oleh * dapat berisi pencocokan yang disematkan { dan }
tanpa mengutip. Jika tidak, masing-masing { dan } dengan * harus dikutip.

Dalam bentuk detik, l1 dan l2 keduanya harus huruf besar atau keduanya huruf kecil
karakter di lokal C. Dalam hal ini bidang dibuat untuk setiap karakter dari l1
melalui l2.

Dalam formulir yang tersisa, bidang dibuat untuk setiap nomor mulai dari n1 dan melanjutkan
sampai mencapai n2 bertambah n1 by n3. Kasus-kasus dimana n3 tidak ditentukan berperilaku sebagai
if n3 dimana 1 if n1<=n2 dan -1 sebaliknya. Jika bentuk yang menentukan %fmt bendera format apa pun,
lebar dan presisi dapat ditentukan dan fmt dapat diakhiri dengan salah satu penentu cdiouxX.
Sebagai contoh, {a,z}{1..5..3%02d}{b..c}x memperluas ke 8 bidang, a01bx, a01cx, a04bx,
a04cx, z01bx, z01cx, z04bx dan z4cx.

File Nama Generasi.
Setelah pemisahan, setiap bidang dipindai untuk karakter , ?, (, dan [ kecuali -f
pilihan telah ditetapkan. Jika salah satu dari karakter ini muncul, maka kata tersebut dianggap sebagai
belt hold. Setiap komponen nama file yang berisi karakter pola apa pun diganti dengan a
kumpulan nama yang diurutkan secara leksikografis yang cocok dengan pola dari direktori itu. Jika tidak
ditemukan nama file yang cocok dengan pola, maka komponen nama file itu dibiarkan
tidak berubah kecuali polanya diawali dengan (N) dalam hal ini dihapus sebagai
dijelaskan di bawah ini. Jika GAMBAR diatur, maka setiap komponen nama file yang cocok dengan
pola yang ditentukan oleh nilai GAMBAR diabaikan saat membuat nama file yang cocok.
Nama . dan .. juga diabaikan. Jika GAMBAR tidak diatur, karakter . di
awal setiap komponen nama file akan diabaikan kecuali karakter pertama dari
pola yang sesuai dengan komponen ini adalah karakter . diri. Perhatikan, bahwa untuk lainnya
penggunaan pencocokan pola / dan . tidak diperlakukan secara khusus.

Cocok dengan string apa pun, termasuk string nol. Ketika digunakan untuk nama file
ekspansi, jika bintang besar opsi aktif, dua berdekatan dengan sendirinya akan
cocokkan semua file dan nol atau lebih direktori dan subdirektori. Jika
diikuti dengan / maka hanya direktori dan subdirektori yang akan cocok.
? Cocok dengan karakter tunggal apa pun.
[...] Cocok dengan salah satu karakter terlampir. Sepasang karakter terpisah
by - cocok dengan karakter apa pun secara leksikal di antara pasangan, inklusif. jika
karakter pertama setelah pembukaan [ adalah ! or ^ maka karakter apa pun tidak
terlampir cocok. A - dapat dimasukkan dalam set karakter dengan meletakkannya
sebagai karakter pertama atau terakhir.
Dalam [ dan ], kelas karakter dapat ditentukan dengan sintaks [:kelas:]
di mana kelas adalah salah satu kelas berikut yang didefinisikan dalam standar ANSI-C:
(Perhatikan itu kata adalah setara dengan jumlah ditambah karakter _.)
jumlah alfa kosong cntrl angka grafik menurunkan mencetak titik ruang atas kata
angka x
Dalam [ dan ], kelas kesetaraan dapat ditentukan dengan sintaks [=c=]
yang cocok dengan semua karakter dengan bobot susunan utama yang sama (sebagai
didefinisikan oleh lokal saat ini) sebagai karakter c. Dalam [ dan ],
[.simbol.] cocok dengan simbol susun simbol.
A daftar pola adalah daftar satu atau lebih pola yang dipisahkan satu sama lain dengan a & or .
A & menandakan bahwa semua pola harus dicocokkan sedangkan hanya membutuhkan satu pola
dicocokkan. Pola komposit dapat dibentuk dengan satu atau lebih dari sub-
pola:
?(daftar pola)
Secara opsional cocok dengan salah satu pola yang diberikan.
*(daftar pola)
Cocok dengan nol atau lebih kejadian dari pola yang diberikan.
+(daftar pola)
Mencocokkan satu atau lebih kejadian dari pola yang diberikan.
{n}(daftar pola)
Korek api n kemunculan pola-pola yang diberikan.
{m,n}(daftar pola)
Pertandingan dari m untuk n kemunculan pola-pola yang diberikan. Jika m dihilangkan, 0
akan digunakan. Jika n dihilangkan setidaknya m kejadian akan dicocokkan.
@(daftar pola)
Cocok persis dengan salah satu pola yang diberikan.
!(daftar pola)
Cocok dengan apa pun kecuali salah satu pola yang diberikan.
Secara default, setiap pola, atau sub-pola akan cocok dengan string terpanjang yang mungkin konsisten
dengan menghasilkan kecocokan keseluruhan terpanjang. Jika lebih dari satu kecocokan dimungkinkan, yang satu
mulai paling dekat dengan awal string akan dipilih. Namun, untuk masing-masing
di atas pola majemuk a - dapat dimasukkan di depan ( menyebabkan pertandingan terpendek
untuk yang ditentukan daftar pola untuk digunakan.

Ketika daftar pola terkandung dalam tanda kurung, karakter garis miring terbalik \ dirawat
khusus bahkan ketika berada di dalam kelas karakter. Semua karakter ANSI-C yang lolos adalah
dikenali dan cocok dengan karakter yang ditentukan. Selain urutan pelarian berikut:
diakui:
\d Cocok dengan karakter apa pun di angka kelas.
\D Cocok dengan karakter apa pun yang tidak ada di angka kelas.
\s Cocok dengan karakter apa pun di ruang kelas.
\S Cocok dengan karakter apa pun yang tidak ada di ruang kelas.
\w Cocok dengan karakter apa pun di kata kelas.
\W Cocok dengan karakter apa pun yang tidak ada di kata kelas.

Sebuah pola bentuk %(pola-pasangan(S)) adalah sub-pola yang dapat digunakan untuk mencocokkan bersarang
ekspresi karakter. Setiap pola-pasangan adalah urutan dua karakter yang tidak dapat mengandung
& or . Yang pertama pola-pasangan menentukan karakter awal dan akhir untuk
cocok. Setiap berikutnya pola-pasangan mewakili karakter awal dan akhir dari a
grup bersarang yang akan dilewati saat menghitung karakter awal dan akhir
pertandingan. Perilaku tidak ditentukan ketika karakter pertama dari a pola-pasangan adalah alfa-
numerik, kecuali sebagai berikut:
D Menyebabkan karakter akhir menghentikan pencarian pola ini tanpa
menemukan kecocokan.
E Menyebabkan karakter akhir ditafsirkan sebagai karakter pelarian.
L Menyebabkan karakter akhir ditafsirkan sebagai karakter kutipan yang menyebabkan
semua karakter untuk diabaikan saat mencari kecocokan.
Q Menyebabkan karakter akhir ditafsirkan sebagai karakter kutipan yang menyebabkan
semua karakter selain karakter pelarian apa pun untuk diabaikan saat melihat
untuk sebuah pertandingan.
Demikian, %({}Q"E\), cocok dengan karakter mulai dari { sampai cocok } tidak ditemukan
menghitung apapun { or } yang ada di dalam string yang dikutip ganda atau didahului oleh escape
karakter \. Tanpa {} pola ini cocok dengan string bahasa C apa pun.

Setiap sub-pola dalam pola komposit diberi nomor, mulai dari 1, berdasarkan lokasi
( dalam pola. Urutannya \n, Di mana n adalah satu digit dan \n datang setelah
n-th. sub-pola, cocok dengan string yang sama dengan sub-pola itu sendiri.

Akhirnya sebuah pola dapat berisi sub-pola dari formulir (Pilihan:daftar pola), Di mana
antara Pilihan or :daftar pola dapat dihilangkan. Berbeda dengan pola majemuk lainnya, ini
sub-pola tidak dihitung dalam sub-pola bernomor. :daftar pola harus dihilangkan
untuk opsi F, G, N , dan V di bawah. Jika Pilihan hadir, itu dapat terdiri dari satu atau lebih
sebagai berikut:
+ Aktifkan opsi berikut. Ini adalah default.
- Nonaktifkan opsi berikut.
E Sisa dari pola menggunakan sintaks ekspresi reguler yang diperluas seperti
itu Egrep(1) perintah.
F Sisa dari pola menggunakan fgrep(1) sintaks ekspresi.
G Sisa dari pola menggunakan sintaks ekspresi reguler dasar seperti
grep(1) perintah.
K Sisa dari pola menggunakan sintaks pola shell. Ini adalah
standar.
N Ini diabaikan. Namun, ketika itu adalah huruf pertama dan digunakan dengan file
pembuatan nama, dan tidak ada kecocokan yang terjadi, pola file meluas ke yang kosong
String.
X Sisa dari pola menggunakan sintaks ekspresi reguler yang ditambah seperti
itu xgrep(1) perintah.
P Sisa dari pola menggunakan perl(1) sintaks ekspresi reguler. Bukan
semua sintaks ekspresi reguler Perl saat ini diimplementasikan.
V Sisa pola menggunakan sintaks ekspresi reguler Sistem V.
i Perlakukan kecocokan sebagai tidak peka huruf besar/kecil.
g File yang paling cocok (serakah). Ini adalah default.
l Jangkar kiri polanya. Ini adalah default untuk K pola gaya.
r Jangkar kanan pola. Ini adalah default untuk K pola gaya.
Jika keduanya Pilihan dan :daftar pola ditentukan, maka opsi hanya berlaku untuk pola-
daftar. Jika tidak, opsi ini tetap berlaku hingga dinonaktifkan oleh opsi berikutnya
(...) atau di akhir sub-pola yang mengandung (...).

Mengutip.
Masing-masing karakter meta terdaftar sebelumnya (lihat Definisi di atas) memiliki arti khusus untuk
shell dan menyebabkan penghentian kata kecuali dikutip. Karakter mungkin dikutip
(yaitu, dibuat untuk berdiri sendiri) dengan mendahuluinya dengan a \. Pasangan \garis baru dihapus.
Semua karakter diapit di antara sepasang tanda kutip tunggal ('') yang tidak didahului oleh
a $ dikutip. Kutipan tunggal tidak dapat muncul dalam tanda kutip tunggal. Sebuah kutipan tunggal
string didahului oleh tanda kutip $ diproses sebagai string ANSI-C kecuali untuk
sebagai berikut:
\0 Menyebabkan sisa string diabaikan.
\E Setara dengan karakter pelarian (ascii 033),
\e Setara dengan karakter pelarian (ascii 033),
\cx Memperluas ke kontrol karakter-x.
\C[.nama.]
Perluas ke elemen susun nama.

Di dalam tanda kutip ganda (""), substitusi parameter dan perintah terjadi dan \ mengutip
karakter \, `, ", dan $. Sebuah $ di depan string yang dikutip ganda akan diabaikan di
lokal "C" atau "POSIX", dan dapat menyebabkan string diganti dengan string khusus lokal
sebaliknya. Arti dari $∗ dan $@ identik ketika tidak dikutip atau ketika digunakan sebagai
nilai penugasan variabel atau sebagai nama file. Namun, ketika digunakan sebagai argumen perintah,
"$∗" adalah setara dengan "$1d$2d...", Di mana d adalah karakter pertama dari IFS variabel,
sedangkan "$@" adalah setara dengan "$ 1" "$ 2" .... Di dalam tanda kutip kuburan (``), \ mengutip
karakter \, `, dan $. Jika tanda kutip kuburan terjadi dalam tanda kutip ganda, maka \ juga
mengutip karakter ".

Arti khusus dari kata-kata atau alias yang dicadangkan dapat dihilangkan dengan mengutip karakter apa pun
dari kata yang dicadangkan. Pengenalan nama fungsi atau nama perintah bawaan yang terdaftar
di bawah ini tidak dapat diubah dengan mengutipnya.

Hitung Evaluasi.
Shell melakukan evaluasi aritmatika untuk substitusi aritmatika, untuk mengevaluasi suatu
perintah aritmatika, untuk mengevaluasi subskrip array yang diindeks, dan untuk mengevaluasi argumen untuk
perintah bawaan bergeser dan membiarkan. Evaluasi dilakukan dengan menggunakan presisi ganda
aritmatika floating point atau floating point presisi ganda panjang untuk sistem yang menyediakan
tipe data ini. Konstanta floating point mengikuti bahasa pemrograman ANSI-C floating
konvensi poin. Konstanta floating point Nan dan inf dapat digunakan untuk mewakili "tidak
angka" dan tak terhingga masing-masing. Konstanta bilangan bulat mengikuti pemrograman ANSI-C
konvensi konstanta integer bahasa meskipun hanya konstanta karakter byte tunggal yang
dikenali dan pemeran karakter tidak dikenali. Selain konstanta dapat dari
membentuk [mendasarkan#]n dimana mendasarkan adalah angka desimal antara dua dan enam puluh empat yang mewakili
basis aritmatika dan n adalah angka dalam basis itu. Angka di atas 9 diwakili oleh
huruf kecil, huruf besar, @, dan _ masing-masing. Untuk basa kurang dari or
sama dengan 36, karakter huruf besar dan kecil dapat digunakan secara bergantian.

Ekspresi aritmatika menggunakan sintaks, prioritas, dan asosiasi ekspresi yang sama
sebagai bahasa C. Semua operator bahasa C yang berlaku untuk jumlah floating point
dapat digunakan. Selain itu, operator ** dapat digunakan untuk eksponensial. Ini memiliki lebih tinggi
didahulukan dari perkalian dan dibiarkan asosiatif. Selain itu, ketika nilai
variabel aritmatika atau sub-ekspresi dapat direpresentasikan sebagai bilangan bulat panjang, semua bahasa C
operasi aritmatika bilangan bulat dapat dilakukan. Variabel dapat dirujuk dengan nama
dalam ekspresi aritmatika tanpa menggunakan sintaks ekspansi parameter. Ketika sebuah
variabel direferensikan, nilainya dievaluasi sebagai ekspresi aritmatika.

Salah satu fungsi perpustakaan matematika berikut yang ada di perpustakaan matematika C dapat digunakan:
dalam ekspresi aritmatika:

abs acos acosh seperti dalam asinh atan atan2 atanh cbrt langit-langit tanda copy sebab tongkat pendek eh erfc exp pengalaman2
contoh1 hebat klasifikasi fp fdim terbatas lantai FMA fmax fmin fmod hipot ilogb int tak terbatas sinf
isnan tidak normal tidak normal disuborder nol j0 j1 jn lgamma mencatat log10 log2 logb
didekatnya selanjutnya di sebelah pow sisa rintis bulat scanb tanda tangan dosa lahir persegi tan
mencurigakan itu potong y0 y1 yn Selain itu, fungsi aritmatika dapat didefinisikan sebagai shell
fungsi dengan varian dari fungsi nama sintaksis,

fungsi .sh.math.nama ident ... { daftar ;}
dimana nama adalah nama fungsi yang digunakan dalam ekspresi aritmatika dan masing-masing
pengenal, ident adalah referensi nama untuk titik mengambang presisi ganda yang panjang
argumen. Nilai dari .sh.nilai ketika fungsi kembali adalah nilai this
fungsi. Fungsi yang ditentukan pengguna dapat mengambil hingga 3 argumen dan menimpa C matematika
fungsi perpustakaan.

Representasi internal dari variabel sebagai titik mengambang presisi ganda dapat
ditentukan dengan -E [n], -F [n], atau -X [n] pilihan dari mengeset built-in khusus
perintah. Itu -E opsi menyebabkan perluasan nilai direpresentasikan menggunakan
notasi ilmiah jika diperluas. Argumen opsi opsional n mendefinisikan
jumlah angka penting. NS -F opsi menyebabkan ekspansi direpresentasikan sebagai
bilangan desimal mengambang jika diekspansi. NS -X opsi menyebabkan ekspansi menjadi
diwakili menggunakan %a format yang ditentukan oleh ISO C-99. Argumen opsi opsional n
mendefinisikan jumlah tempat setelah titik desimal (atau radix) dalam kasus ini.

Representasi bilangan bulat internal dari variabel dapat ditentukan dengan -i [n] pilihan
dari mengeset perintah bawaan khusus. Argumen opsi opsional n menentukan sebuah
basis aritmatika yang akan digunakan ketika memperluas variabel. Jika Anda tidak menentukan
basis aritmatika, basis 10 akan digunakan.

Evaluasi aritmatika dilakukan terhadap nilai setiap penugasan terhadap suatu variabel dengan
-E, -F, -X, atau -i atribut. Menetapkan nomor floating point ke variabel yang tipenya
adalah bilangan bulat yang menyebabkan bagian pecahan terpotong.

Dorongan.
Saat digunakan secara interaktif, shell meminta dengan nilai PS1 setelah mengembangkannya untuk
ekspansi parameter, substitusi perintah, dan substitusi aritmatika, sebelum membaca a
memerintah. Selain itu, masing-masing ! di prompt diganti dengan nomor perintah. A
!! diperlukan untuk menempatkan ! dalam prompt. Jika suatu saat baris baru diketik dan selanjutnya
input diperlukan untuk menyelesaikan perintah, kemudian prompt sekunder (yaitu, nilai PS2)
dikeluarkan.

Bersyarat Ekspresi.
A bersyarat ekspresi digunakan dengan [[ perintah gabungan untuk menguji atribut file
dan untuk membandingkan string. Pemisahan bidang dan pembuatan nama file tidak dilakukan pada
kata-kata antara [[ dan ]]. Setiap ekspresi dapat dibangun dari satu atau lebih dari
ekspresi unary atau biner berikut:
string Benar, jika string tidak nol.
-a fillet
Sama dengan -e di bawah. Ini sudah usang.
-b fillet
Benar, jika fillet ada dan merupakan file khusus blok.
-c fillet
Benar, jika fillet ada dan merupakan file khusus karakter.
-d fillet
Benar, jika fillet ada dan merupakan direktori.
-e fillet
Benar, jika fillet ada
-f fillet
Benar, jika fillet ada dan merupakan file biasa.
-g fillet
Benar, jika fillet ada dan bit setgidnya disetel.
-k fillet
Benar, jika fillet ada dan memiliki bit yang lengket.
-n string
Benar, jika panjang string bukan nol.
-o ?Option
Benar, jika opsi bernama Option adalah nama opsi yang valid.
-o Option
Benar, jika opsi bernama Option aktif.
-p fillet
Benar, jika fillet ada dan merupakan file khusus fifo atau pipa.
-r fillet
Benar, jika fillet ada dan dapat dibaca oleh proses saat ini.
-s fillet
Benar, jika fillet ada dan memiliki ukuran lebih besar dari nol.
-t fildes
Benar, jika nomor deskriptor file fildes terbuka dan terkait dengan terminal
perangkat.
-u fillet
Benar, jika fillet ada dan bit setuidnya disetel.
-v nama
Benar, jika variabel nama adalah nama variabel yang valid dan disetel.
-w fillet
Benar, jika fillet ada dan dapat ditulis oleh proses saat ini.
-x fillet
Benar, jika fillet ada dan dapat dieksekusi oleh proses saat ini. Jika fillet ada dan adalah
direktori, maka benar jika proses saat ini memiliki izin untuk mencari di
direktori.
-z string
Benar, jika panjang string adalah nol.
-L fillet
Benar, jika fillet ada dan merupakan tautan simbolik.
-h fillet
Benar, jika fillet ada dan merupakan tautan simbolik.
-N fillet
Benar, jika fillet ada dan waktu modifikasi lebih besar dari akses terakhir
waktu.
-O fillet
Benar, jika fillet ada dan dimiliki oleh id pengguna yang efektif dari proses ini.
-G fillet
Benar, jika fillet ada dan grupnya cocok dengan id grup efektif dari proses ini.
-R nama
Benar jika variabel nama adalah referensi nama.
-S fillet
Benar, jika fillet ada dan merupakan soket.
file1 -tidak file2
Benar, jika file1 ada dan file2 tidak, atau file1 lebih baru dari file2.
file1 -ot file2
Benar, jika file2 ada dan file1 tidak, atau file1 lebih tua dari file2.
file1 -ef file2
Benar, jika file1 dan file2 ada dan merujuk ke file yang sama.
string == belt hold
Benar, jika string korek api belt hold. Setiap bagian dari belt hold dapat dikutip untuk menyebabkannya
dicocokkan sebagai string. Dengan kecocokan yang sukses dengan suatu pola, .sh.cocok susunan
variabel akan berisi kecocokan dan kecocokan sub-pola.
string = belt hold
Sama dengan == di atas, tetapi sudah usang.
string != belt hold
Benar, jika string tidak cocok belt hold. Ketika string cocok dengan belt hold itu
.sh.cocok variabel array akan berisi kecocokan dan kecocokan sub-pola.
string =∼ sebelum
Benar jika string cocok dengan polanya (E)sebelum dimana sebelum adalah reguler yang diperpanjang
ekspresi.
string1 < string2
Benar, jika string1 datang sebelum string2 berdasarkan nilai ASCII karakter mereka.
string1 > string2
Benar, jika string1 datang setelah string2 berdasarkan nilai ASCII karakter mereka.
Perbandingan aritmatika usang berikut juga diizinkan:
pengalaman1 -persamaan pengalaman2
Benar, jika pengalaman1 adalah sama dengan pengalaman2.
pengalaman1 -satu pengalaman2
Benar, jika pengalaman1 tidak sama dengan pengalaman2.
pengalaman1 -lt pengalaman2
Benar, jika pengalaman1 kurang dari pengalaman2.
pengalaman1 -gt pengalaman2
Benar, jika pengalaman1 lebih besar dari pengalaman2.
pengalaman1 -NS pengalaman2
Benar, jika pengalaman1 kurang dari atau sama dengan pengalaman2.
pengalaman1 -ge pengalaman2
Benar, jika pengalaman1 lebih besar atau sama dengan pengalaman2.

Dalam setiap ekspresi di atas, jika fillet berbentuk /dev/fd/n, Di mana n adalah bilangan bulat,
kemudian tes diterapkan ke file terbuka yang nomor deskriptornya adalah n.

Ekspresi majemuk dapat dibangun dari primitif ini dengan menggunakan salah satu dari
berikut, terdaftar dalam urutan prioritas yang menurun.
(ekspresi)
Benar, jika ekspresi adalah benar. Digunakan untuk mengelompokkan ekspresi.
! ekspresi
Benar jika ekspresi itu salah.
ekspresi1 && ekspresi2
Benar, jika ekspresi1 dan ekspresi2 keduanya benar.
ekspresi1 ⎪⎪. ekspresi2
Benar, jika juga ekspresi1 or ekspresi2 adalah benar.

Input output.
Sebelum perintah dijalankan, input dan outputnya dapat diarahkan menggunakan perintah khusus
notasi yang ditafsirkan oleh shell. Berikut ini mungkin muncul di mana saja dalam perintah sederhana
atau mungkin mendahului atau mengikuti a Command dan tidak diteruskan ke perintah yang dipanggil. Memerintah
substitusi, ekspansi parameter, dan substitusi aritmatika terjadi sebelum kata or angka
digunakan kecuali seperti yang disebutkan di bawah ini. Pembuatan nama file hanya terjadi jika shell adalah
interaktif dan polanya cocok dengan satu file. Pemisahan bidang tidak dilakukan.

Dalam setiap pengalihan berikut, jika fillet berbentuk /dev/sctp/tuan rumah/pelabuhan,
/dev/tcp/tuan rumah/pelabuhan, atau /dev/udp/tuan rumah/pelabuhan, Di mana tuan rumah adalah nama host atau alamat host, dan
pelabuhan adalah layanan yang diberikan dengan nama atau nomor port integer, maka upaya pengalihan
untuk membuat sebuah tcp, sctp or udp koneksi ke soket yang sesuai.

Tidak ada ruang intervensi yang diizinkan di antara karakter operator pengalihan.

<kata Gunakan file kata sebagai input standar (deskriptor file 0).

>kata Gunakan file kata sebagai output standar (deskriptor file 1). Jika file tidak
ada kemudian diciptakan. Jika file tersebut ada, dan noclobber pilihannya adalah
aktif, ini menyebabkan kesalahan; jika tidak, itu dipotong menjadi nol panjang.

>|kata Sama dengan >, kecuali bahwa itu menimpa noclobber .

>;kata Tulis output ke file sementara. Jika perintah berhasil diselesaikan
ganti namanya menjadi kata, jika tidak, hapus file sementara. >;kata tidak bisa
digunakan dengan eksekutif(2). bawaan.

>>kata Gunakan file kata sebagai keluaran standar. Jika file tersebut ada, maka outputnya adalah
ditambahkan padanya (dengan terlebih dahulu mencari ke akhir file); jika tidak, file tersebut adalah
dibuat.

<>kata Buka file kata untuk membaca dan menulis sebagai keluaran standar.

<>;kata Sama seperti <>kata kecuali jika perintah berhasil diselesaikan, kata
dipotong ke offset pada penyelesaian perintah. <>;kata tidak dapat digunakan
pada pengatur terkenal. Pengatur ini menawarkan bantuan hukum kepada traderapabila trader berselisih dengan broker yang terdaftar dengan mereka. eksekutif(2). bawaan.

<<[-]kata Input shell dibaca hingga baris yang sama dengan kata setelah apapun
kutipan telah dihapus, atau ke akhir file. Tidak ada substitusi parameter,
substitusi perintah, substitusi aritmatika atau pembuatan nama file adalah
dilakukan pada kata. Dokumen yang dihasilkan, disebut a di sini-dokumen, menjadi
masukan standar. Jika ada karakter dari kata dikutip, maka tidak
interpretasi ditempatkan pada karakter dokumen; sebaliknya,
ekspansi parameter, substitusi perintah, dan substitusi aritmatika
terjadi, \garis baru diabaikan, dan \ harus digunakan untuk mengutip karakter \,
$, `. Jika - ditambahkan ke <<, maka semua tab utama dihapus dari kata
dan dari dokumen. Jika # ditambahkan ke <<, lalu memimpin spasi dan tab
akan dilucuti dari baris pertama dokumen dan hingga yang setara
lekukan akan dilucuti dari garis yang tersisa dan dari kata. Sebuah tab
stop diasumsikan terjadi pada setiap 8 kolom untuk tujuan menentukan
lekukan.

<<kata Bentuk singkat dari dokumen di sini di mana kata menjadi isi dari
di sini-dokumen setelah ekspansi parameter, substitusi perintah, dan
substitusi aritmatika terjadi.

<&angka Input standar diduplikasi dari deskriptor file angka (Lihat dup(2)).
Demikian pula untuk keluaran standar menggunakan >&angka.

<&angka- Deskriptor file yang diberikan oleh angka dipindahkan ke input standar. Demikian pula
untuk keluaran standar menggunakan >&angka-.

<&- Masukan standar ditutup. Demikian pula untuk keluaran standar menggunakan >&-.

</p Input dari co-proses dipindahkan ke input standar.

>&p Output ke co-proses dipindahkan ke output standar.

<#((cepat)) Evaluasi ekspresi aritmatika cepat dan posisikan deskriptor file 0 ke
byte nilai yang dihasilkan dari awal file. Variabel CUR dan EOF
mengevaluasi offset saat ini dan offset akhir file masing-masing ketika
mengevaluasi ekspr.

>#((mengimbangi)) Sama seperti <# kecuali berlaku untuk deskriptor file 1.

<#belt hold Mencari maju ke awal baris berikutnya yang berisi belt hold.

<##belt hold Sama seperti <# kecuali bahwa bagian dari file yang dilewati disalin
ke keluaran standar.

Jika salah satu di atas didahului oleh angka, tanpa spasi, maka file
nomor deskriptor yang dimaksud adalah yang ditentukan oleh digit (bukan default 0 atau
1). Jika salah satu di atas, selain >&- dan ># dan <# bentuk, didahului oleh {nama belakang}
tanpa spasi, maka nomor deskriptor file > 10 akan dipilih oleh
shell dan disimpan dalam variabel nama belakang. Jika >&- atau salah satu dari ># dan <# bentuk adalah
didahului oleh {nama belakang} nilai nama belakang mendefinisikan deskriptor file untuk menutup atau
posisi. Sebagai contoh:

... 2> & 1

berarti deskriptor file 2 akan dibuka untuk ditulis sebagai duplikat deskriptor file 1
dan

eksekutif {n}

berarti membuka file bernama fillet untuk membaca dan menyimpan nomor deskriptor file dalam variabel n.

Urutan pengalihan ditentukan sangat penting. Shell mengevaluasi masing-masing
pengalihan dalam hal (fillet deskriptor, fillet) asosiasi pada saat evaluasi.
Sebagai contoh:

... 1>nama-nama 2> & 1

pertama mengaitkan deskriptor file 1 dengan file nama-nama. Itu kemudian mengaitkan deskriptor file 2
dengan file yang terkait dengan deskriptor file 1 (mis nama-nama). Jika urutan
pengalihan dibalik, deskriptor file 2 akan dikaitkan dengan terminal
(dengan asumsi deskriptor file 1 telah) dan kemudian deskriptor file 1 akan dikaitkan dengan
fillet nama-nama.

Jika perintah diikuti oleh & dan kontrol pekerjaan tidak aktif, maka standar default
input untuk perintah adalah file kosong / dev / null. Jika tidak, lingkungan untuk
eksekusi perintah berisi deskriptor file dari shell yang memanggil sebagaimana dimodifikasi oleh
spesifikasi masukan/keluaran.

Lingkungan Hidup.
The lingkungan Hidup (Lihat tentang(7)) adalah daftar pasangan nama-nilai yang diteruskan ke
program yang dieksekusi dengan cara yang sama seperti daftar argumen normal. Nama-namanya harus pengidentifikasi
dan nilainya adalah string karakter. Shell berinteraksi dengan lingkungan di beberapa
cara. Saat dipanggil, shell memindai lingkungan dan membuat variabel untuk setiap nama
ditemukan, memberinya nilai dan atribut yang sesuai dan menandainya ekspor. Dieksekusi
perintah mewarisi lingkungan. Jika pengguna memodifikasi nilai variabel ini atau
membuat yang baru, menggunakan ekspor or mengeset -x perintah, mereka menjadi bagian dari
lingkungan. Lingkungan yang terlihat oleh setiap perintah yang dieksekusi dengan demikian terdiri dari nama-
pasangan nilai yang awalnya diwarisi oleh shell, yang nilainya dapat dimodifikasi oleh arus
cangkang, ditambah setiap tambahan yang harus diperhatikan dalam ekspor or mengeset -x perintah.

Lingkungan untuk apa saja perintah sederhana atau fungsi dapat ditambah dengan mengawalinya dengan
satu atau lebih tugas variabel. Argumen penugasan variabel adalah kata dalam bentuk
pengenal = nilai. Dengan demikian:

JANGKA = 450 cmd args dan
(ekspor KETENTUAN; JANGKA=450; cmd argumen)

adalah setara (sejauh eksekusi di atas dari cmd bersangkutan kecuali khusus
perintah bawaan yang tercantum di bawah ini - perintah yang didahului dengan belati).

Jika usang -k pilihan ditetapkan, semua argumen penugasan variabel ditempatkan di
lingkungan, bahkan jika mereka muncul setelah nama perintah. Cetakan pertama berikut: a = b c
lalu c:

gema a = b c
set -k
gema a = b c
Fitur ini dimaksudkan untuk digunakan dengan skrip yang ditulis untuk versi awal shell dan
penggunaannya dalam skrip baru sangat tidak disarankan. Kemungkinan akan hilang suatu hari nanti.

Fungsi
Untuk alasan historis, ada dua cara untuk mendefinisikan fungsi, yaitu: nama() sintaks dan
fungsi nama sintaks, dijelaskan dalam Perintah bagian di atas. Fungsi shell dibaca
dalam dan disimpan secara internal. Nama alias diselesaikan saat fungsi dibaca. Fungsi
dieksekusi seperti perintah dengan argumen yang diteruskan sebagai parameter posisi. (Lihat
Execution di bawah.)

Fungsi yang ditentukan oleh fungsi nama sintaks dan dipanggil dengan nama dieksekusi dalam hal yang sama
proses sebagai pemanggil dan bagikan semua file dan sajikan direktori kerja dengan pemanggil.
Perangkap yang ditangkap oleh pemanggil diatur ulang ke tindakan defaultnya di dalam fungsi. Sebuah jebakan
kondisi yang tidak ditangkap atau diabaikan oleh fungsi menyebabkan fungsi berhenti
dan kondisi yang akan diteruskan ke pemanggil. Sebuah jebakan EXIT himpunan di dalam suatu fungsi adalah
dieksekusi di lingkungan pemanggil setelah fungsi selesai. Biasanya,
variabel dibagi antara program pemanggil dan fungsi. Namun, mengeset
perintah bawaan khusus yang digunakan dalam suatu fungsi mendefinisikan variabel lokal yang cakupannya
termasuk fungsi saat ini. Mereka dapat diteruskan ke fungsi yang mereka panggil di
daftar penetapan variabel yang mendahului panggilan atau sebagai argumen yang diteruskan sebagai referensi nama.
Kesalahan dalam fungsi mengembalikan kontrol ke pemanggil.

Fungsi yang didefinisikan dengan nama() sintaks dan fungsi yang didefinisikan dengan fungsi nama
sintaks yang dipanggil dengan . built-in khusus dijalankan di pemanggil
lingkungan dan bagikan semua variabel dan jebakan dengan pemanggil. Kesalahan dalam ini
eksekusi fungsi menyebabkan skrip yang berisi mereka dibatalkan.

Perintah bawaan khusus kembali digunakan untuk kembali dari pemanggilan fungsi.

Nama fungsi dapat dicantumkan dengan -f or +f pilihan dari mengeset built-in khusus
memerintah. Teks fungsi, jika tersedia, juga akan dicantumkan dengan -f. Fungsi
dapat tidak terdefinisi dengan -f pilihan dari tidak disetel perintah bawaan khusus.

Biasanya, fungsi tidak disetel saat shell mengeksekusi skrip shell. Fungsi yang
perlu didefinisikan di seluruh pemanggilan terpisah dari shell harus ditempatkan di a
direktori dan FPATH variabel harus berisi nama direktori ini. Mereka mungkin juga
ditentukan dalam ENV file.

Disiplin Fungsi
Setiap variabel dapat memiliki nol atau lebih fungsi disiplin yang terkait dengannya. Kerang
awalnya mengerti nama-nama disiplin mendapatkan, set, menambahkan, dan tidak disetel tapi bisa ditambah
saat mendefinisikan tipe baru. Pada sebagian besar sistem, yang lain dapat ditambahkan saat run time melalui C
ekstensi antarmuka pemrograman yang disediakan oleh builtin utilitas bawaan. jika mendapatkan
disiplin didefinisikan untuk variabel, itu dipanggil setiap kali variabel yang diberikan adalah
dirujuk. Jika variabel .sh.nilai diberi nilai di dalam fungsi disiplin,
variabel yang direferensikan akan mengevaluasi nilai ini sebagai gantinya. jika set disiplin adalah
didefinisikan untuk variabel, itu dipanggil setiap kali variabel yang diberikan diberi nilai. Jika
itu menambahkan disiplin didefinisikan untuk variabel, itu dipanggil setiap kali nilai adalah
ditambahkan ke variabel yang diberikan. variabel .sh.nilai diberikan nilai variabel
sebelum menerapkan disiplin, dan variabel akan diberi nilai .sh.nilai
setelah disiplin selesai. Jika .sh.nilai tidak diatur di dalam disiplin, maka itu
nilainya tidak berubah. jika tidak disetel disiplin didefinisikan untuk variabel, itu dipanggil
setiap kali variabel yang diberikan tidak disetel. Variabel tidak akan disetel kecuali jika tidak disetel
eksplisit dari dalam fungsi disiplin ini.

Variabel .sh.nama berisi nama variabel yang fungsi disiplinnya
disebut, .sh.subskrip adalah subscript dari variabel, dan .sh.nilai akan berisi
nilai yang diberikan di dalam set fungsi disiplin. variabel _ adalah referensi ke
variabel termasuk subscript jika ada. Untuk set disiplin, perubahan .sh.nilai
akan mengubah nilai yang diberikan. Akhirnya, ekspansi ${adalah.nama}, Saat nama
adalah nama disiplin, dan tidak ada variabel nama ini, setara dengan
substitusi perintah ${ adalah.nama;}.

Nama Spasi.
Perintah dan fungsi yang dijalankan sebagai bagian dari daftar dari namespace perintah itu
ubah variabel atau buat yang baru, buat variabel baru yang namanya nama
ruang nama seperti yang diberikan oleh identifier didahului oleh .. Ketika sebuah variabel yang namanya nama is
direferensikan, pertama kali dicari menggunakan .identifier.nama. Demikian pula, fungsi
didefinisikan oleh perintah di namespace daftar dibuat menggunakan nama ruang nama didahului
oleh ..

Ketika daftar dari namespace perintah mengandung namespace perintah, nama-nama variabel
dan fungsi yang dibuat terdiri dari variabel atau nama fungsi yang didahului oleh
daftar identifiers masing-masing didahului oleh ..

Di luar ruang nama, variabel atau fungsi yang dibuat di dalam ruang nama dapat
direferensikan dengan mendahuluinya dengan nama nama ruang.

Secara default, variabel menatap dengan .SH di sh ruang nama.

Tipe Variabel.
Variabel yang diketik menyediakan cara untuk membuat struktur data dan objek. Sebuah tipe dapat didefinisikan
baik oleh perpustakaan bersama, oleh enum perintah bawaan yang dijelaskan di bawah ini, atau dengan menggunakan
yang baru -T pilihan dari mengeset perintah bawaan. Dengan -T pilihan dari mengeset, tipe
nama, ditentukan sebagai argumen opsi untuk -T, diatur dengan penugasan variabel majemuk
yang menentukan jenisnya. Definisi fungsi dapat muncul di dalam variabel majemuk
tugas dan ini menjadi fungsi disiplin untuk jenis ini dan dapat dipanggil atau
didefinisikan ulang oleh setiap instance dari tipe tersebut. Nama fungsi membuat diperlakukan secara khusus.
Itu dipanggil untuk setiap instance dari tipe yang dibuat tetapi tidak diwariskan dan
tidak dapat didefinisikan ulang untuk setiap instance.

Ketika suatu tipe didefinisikan, perintah built-in khusus dari nama itu ditambahkan. Ini built-in
adalah perintah deklarasi dan mengikuti aturan ekspansi yang sama seperti semua built-in khusus
perintah yang didefinisikan di bawah yang didahului oleh . Perintah-perintah ini selanjutnya dapat digunakan
di dalam definisi tipe lebih lanjut. Halaman manual untuk perintah ini dapat dibuat dengan
menggunakan --pria pilihan atau yang lainnya -- opsi dijelaskan dengan getopt. itu -r, -a,
-A, -h, dan -S pilihan dari mengeset diizinkan dengan masing-masing built-in baru ini.

Instance dari suatu tipe dibuat dengan memanggil nama tipe diikuti oleh satu atau lebih
nama-nama contoh. Setiap instance dari tipe ini diinisialisasi dengan salinan sub-variabel
kecuali untuk sub-variabel yang didefinisikan dengan -S pilihan. Variabel yang didefinisikan dengan
-S dibagikan oleh semua instance dari tipe tersebut. Setiap instance dapat mengubah nilai apa pun
sub-variabel dan juga dapat mendefinisikan fungsi disiplin baru dengan nama yang sama seperti itu
didefinisikan oleh definisi jenis serta nama disiplin standar. Tidak ada tambahan
sub-variabel dapat didefinisikan untuk setiap contoh.

Saat mendefinisikan tipe, jika nilai sub-variabel tidak disetel dan -r atributnya adalah
ditentukan, itu menyebabkan sub-variabel menjadi sub-variabel yang diperlukan. Kapanpun sebuah contoh
dari suatu tipe dibuat, semua sub-variabel yang diperlukan harus ditentukan. Sub-variabel ini
menjadi readonly dalam setiap contoh.

Ketika tidak disetel dipanggil pada sub-variabel dalam suatu tipe, dan -r atribut belum
ditentukan untuk bidang ini, nilainya diatur ulang ke nilai default asosiatif dengan
Tipe. Memanggil tidak disetel pada contoh tipe yang tidak terdapat dalam tipe lain menghapus semua
subvariabel dan variabel itu sendiri.

Definisi tipe dapat diturunkan dari definisi tipe lain dengan mendefinisikan sub-
nama variabel sebagai _ dan mendefinisikan tipenya sebagai tipe dasar. Definisi yang tersisa akan
menjadi penambahan dan modifikasi yang berlaku untuk tipe baru. Jika nama tipe baru adalah
sama dengan tipe dasar, tipenya akan diganti dan tipe aslinya tidak akan
lebih lama dapat diakses.

The mengeset perintah dengan -T dan tidak ada argumen opsi atau operan yang akan menulis semua tipe
definisi ke keluaran standar dalam bentuk yang dapat dibaca untuk membuat semua itu
jenis.

Jobs.
Jika Monitor pilihan dari set perintah diaktifkan, shell interaktif mengasosiasikan
pekerjaan dengan masing-masing pipa. Itu membuat tabel pekerjaan saat ini, dicetak oleh pekerjaan perintah,
dan memberikan mereka bilangan bulat kecil. Ketika pekerjaan dimulai secara tidak sinkron dengan &, yang
shell mencetak garis yang terlihat seperti:

[1] 1234

menunjukkan bahwa pekerjaan yang dimulai secara tidak sinkron adalah pekerjaan nomor 1 dan memilikinya
proses (tingkat atas), yang id prosesnya adalah 1234.

Paragraf ini dan selanjutnya memerlukan fitur yang tidak ada di semua versi UNIX dan mungkin
tidak berlaku. Jika Anda menjalankan pekerjaan dan ingin melakukan sesuatu yang lain, Anda dapat menekan tombol ^Z
(kontrol-Z) yang mengirimkan sinyal STOP ke pekerjaan saat ini. Shell kemudian akan normal
menunjukkan bahwa pekerjaan telah `Dihentikan', dan cetak perintah lain. Anda kemudian bisa
memanipulasi keadaan pekerjaan ini, meletakkannya di latar belakang dengan bg perintah, atau jalankan
beberapa perintah lain dan akhirnya mengembalikan pekerjaan ke latar depan dengan
perintah latar depan fg. Sebuah ^Z berlaku segera dan seperti interupsi dalam hal itu
keluaran tertunda dan masukan yang belum dibaca dibuang saat diketik.

Pekerjaan yang dijalankan di latar belakang akan berhenti jika mencoba membaca dari terminal.
Pekerjaan latar belakang biasanya diizinkan untuk menghasilkan keluaran, tetapi ini dapat dinonaktifkan dengan memberi
perintah sty berhenti. Jika Anda menyetel opsi tty ini, maka pekerjaan latar belakang akan berhenti ketika
mereka mencoba menghasilkan keluaran seperti yang mereka lakukan ketika mereka mencoba membaca masukan.

Kumpulan pekerjaan adalah kumpulan pekerjaan yang dimulai dengan daftar & dikaitkan dengan sebuah nama.

Ada beberapa cara untuk merujuk ke pekerjaan di shell. Suatu pekerjaan dapat dirujuk oleh
id proses dari setiap proses pekerjaan atau dengan salah satu dari berikut ini:
%jumlah
Pekerjaan dengan nomor yang diberikan.
kolam Semua pekerjaan di kumpulan pekerjaan diberi nama oleh kolam.
kolam.jumlah
nomor pekerjaan jumlah di kumpulan pekerjaan bernama oleh kolam.
%string
Pekerjaan apa pun yang baris perintahnya dimulai dengan string.
%?string
Pekerjaan apa pun yang baris perintahnya berisi string.
%% Pekerjaan saat ini.
%+ Setara dengan %%.
%- Pekerjaan sebelumnya. Selain itu, kecuali dinyatakan lain, di mana pun pekerjaan dapat dilakukan
ditentukan, nama kumpulan pekerjaan latar belakang dapat digunakan untuk mewakili semua pekerjaan
di kolam itu.

Shell belajar segera setiap kali suatu proses berubah status. Biasanya memberi tahu Anda
setiap kali pekerjaan diblokir sehingga tidak ada kemajuan lebih lanjut yang mungkin, tetapi hanya
sebelum mencetak prompt. Hal ini dilakukan agar tidak mengganggu pekerjaan Anda.
The memberitahukan pilihan dari set perintah menyebabkan shell untuk mencetak pesan perubahan pekerjaan ini
segera setelah mereka terjadi.

Ketika Monitor opsi aktif, setiap pekerjaan latar belakang yang selesai memicu rangkaian jebakan apa pun
untuk ANAK.

Saat Anda mencoba keluar dari shell saat pekerjaan sedang berjalan atau dihentikan, Anda akan diperingatkan bahwa
'Anda telah menghentikan (menjalankan) pekerjaan.' Anda dapat menggunakan pekerjaan perintah untuk melihat apa adanya. Jika
Anda segera mencoba keluar lagi, shell tidak akan memperingatkan Anda untuk kedua kalinya, dan
pekerjaan yang dihentikan akan dihentikan. Ketika shell login menerima sinyal HUP, ia mengirimkan HUP
sinyal untuk setiap pekerjaan yang belum diakui dengan menyangkal perintah bawaan dijelaskan
di bawah.

Sinyal.
Sinyal INT dan QUIT untuk perintah yang dipanggil diabaikan jika perintah diikuti oleh
& dan Monitor opsi tidak aktif. Jika tidak, sinyal memiliki nilai yang diwarisi oleh
cangkang dari induknya (tetapi lihat juga perangkap perintah bawaan di bawah).

Eksekusi.
Setiap kali perintah dibaca, substitusi di atas dilakukan. Jika nama perintah
cocok dengan salah satu Khusus Built-in Perintah tercantum di bawah ini, itu dijalankan dalam
proses cangkang saat ini. Selanjutnya, nama perintah diperiksa untuk melihat apakah itu cocok dengan pengguna
fungsi yang ditentukan. Jika ya, parameter posisi disimpan dan kemudian diatur ulang ke
argumen dari fungsi panggilan. Sebuah fungsi juga dieksekusi dalam proses shell saat ini.
Ketika fungsi menyelesaikan atau masalah a kembali, daftar parameter posisi dipulihkan.
Untuk fungsi yang didefinisikan dengan fungsi nama sintaks, jebakan apa pun diaktifkan EXIT dalam
fungsi dijalankan. Nilai keluar dari fungsi adalah nilai dari perintah terakhir
dieksekusi. Jika nama perintah bukan a khusus built-in Command atau ditentukan pengguna fungsi,
tetapi ini adalah salah satu perintah bawaan yang tercantum di bawah ini, dijalankan di shell saat ini
proses.

Variabel shell PATH diikuti oleh variabel FPATH mendefinisikan daftar direktori untuk
cari nama perintah. Nama direktori alternatif dipisahkan oleh titik dua (:).
Jalur default adalah /tempat sampah:/ usr / bin: (menentukan /tempat sampah, / usr / bin, dan direktori saat ini
dalam urutan itu). Direktori saat ini dapat ditentukan oleh dua atau lebih titik dua yang berdekatan, atau
dengan titik dua di awal atau akhir daftar jalur. Jika nama perintah mengandung /,
maka jalur pencarian tidak digunakan. Jika tidak, setiap direktori dalam daftar direktori
didefinisikan oleh PATH dan FPATH diperiksa secara berurutan. Jika direktori yang dicari adalah
terkandung dalam FPATH dan berisi file yang namanya cocok dengan perintah yang dicari, lalu
file ini dimuat ke lingkungan shell saat ini seolah-olah itu adalah argumen untuk .
perintah kecuali bahwa hanya alias prasetel yang diperluas, dan fungsi dari nama yang diberikan adalah
dieksekusi seperti yang dijelaskan di atas.

Jika direktori ini tidak ada di FPATH shell pertama menentukan apakah ada built-in
versi dari perintah yang sesuai dengan nama path yang diberikan dan jika demikian, itu dipanggil di
proses saat ini. Jika tidak ada built-in yang ditemukan, shell akan memeriksa file bernama .jalan in
direktori ini. Jika ditemukan dan ada garis bentuk FPATH=path dimana path nama dan
direktori yang ada maka direktori itu dicari segera setelah saat ini
direktori seolah-olah ditemukan di FPATH variabel. Jika path tidak dimulai dengan /, itu adalah
diperiksa relatif terhadap direktori yang sedang dicari.

The .jalan file kemudian diperiksa untuk baris formulir PLUGIN_LIB=nama lib [ : nama lib ]
... . Setiap perpustakaan diberi nama oleh nama lib akan dicari seolah-olah itu adalah argumen opsi
untuk builtin -f, dan jika berisi built-in dari nama yang ditentukan ini akan dieksekusi
alih-alih perintah dengan nama ini. Semua bawaan yang dimuat dari perpustakaan yang ditemukan dengan cara ini akan
dikaitkan dengan direktori yang berisi .jalan file sehingga hanya akan dijalankan jika tidak
ditemukan di direktori sebelumnya.

Akhirnya, direktori akan diperiksa untuk file dengan nama yang diberikan. Jika file memiliki
menjalankan izin tetapi bukan merupakan keluar file, itu dianggap sebagai file yang berisi shell
perintah. Sebuah shell terpisah muncul untuk membacanya. Semua variabel yang tidak diekspor dihapus
pada kasus ini. Jika file perintah shell tidak memiliki izin baca, atau jika setuid
dan / atau setgid bit diatur pada file, lalu shell mengeksekusi agen yang tugasnya
untuk mengatur izin dan menjalankan shell dengan file perintah shell yang diturunkan sebagai
sebuah file yang terbuka. jika .jalan berisi garis bentuk nama=nilai di pertama atau kedua
baris, maka variabel lingkungan nama dimodifikasi dengan menambahkan direktori yang ditentukan
by nilai ke daftar direktori. Jika nilai bukan direktori absolut, maka itu menentukan
direktori relatif terhadap direktori tempat executable ditemukan. Jika lingkungan
variabel nama belum ada akan ditambahkan ke daftar lingkungan untuk
perintah yang ditentukan. Perintah dalam kurung dieksekusi dalam sub-kulit tanpa menghapus
variabel yang tidak diekspor.

perintah Masuk kembali.
Teks yang terakhir UKURAN SEJARAH (default 512) perintah yang dimasukkan dari perangkat terminal adalah
disimpan di sejarah mengajukan. Berkas $HOME/.sh_history digunakan jika FILE HIST variabel adalah
tidak disetel atau jika file yang namanya tidak dapat ditulis. Shell dapat mengakses perintah semua
interaktif kerang yang menggunakan nama yang sama FILE HIST. Perintah bawaan hist digunakan
untuk membuat daftar atau mengedit sebagian dari file ini. Bagian dari file yang akan diedit atau dicantumkan
dapat dipilih dengan nomor atau dengan memberikan karakter atau karakter pertama dari perintah.
Satu perintah atau rentang perintah dapat ditentukan. Jika Anda tidak menentukan editor
program sebagai argumen untuk hist maka nilai variabelnya SEJARAH digunakan. Jika
SEJARAH tidak disetel, variabel usang FCEDIT digunakan. Jika FCEDIT tidak terdefinisi, maka
/usr/bin/ex digunakan. Perintah yang diedit dicetak dan dijalankan kembali setelah meninggalkan
editor kecuali Anda berhenti tanpa menulis. NS -s opsi (dan dalam versi usang, the
nama editor -) digunakan untuk melewati fase pengeditan dan untuk menjalankan kembali perintah. Di dalam
kasus parameter substitusi dari bentuk tua=yang baru dapat digunakan untuk mengubah perintah sebelumnya
eksekusi. Misalnya, dengan alias prasetel r, yang disebut historis -S', mengetik `r
buruk = baik c' akan menjalankan kembali perintah terbaru yang dimulai dengan huruf c,
menggantikan kemunculan pertama string buruk dengan tali baik.

Di barisan Mengedit Pilihan.
Biasanya, setiap baris perintah yang dimasukkan dari perangkat terminal cukup diketik diikuti oleh a
garis baru (`RETURN' atau `LINE FEED'). Jika salah satu emacs, gmac, atau vi opsi aktif,
pengguna dapat mengedit baris perintah. Berada di salah satu dari mode edit ini set itu
pilihan yang sesuai. Opsi pengeditan dipilih secara otomatis setiap kali VISUAL or
EDITOR variabel diberi nilai yang diakhiri dengan salah satu dari nama opsi ini.

Fitur pengeditan mengharuskan terminal pengguna menerima `RETURN' sebagai carriage return
tanpa umpan baris dan spasi (` ') harus menimpa karakter saat ini pada
layar.

Kecuali jika multiline opsi aktif, mode pengeditan menerapkan konsep di mana pengguna berada
melihat melalui jendela pada baris saat ini. Lebar jendela adalah nilai dari KOLOM if
itu didefinisikan, jika tidak 80. Jika lebar jendela terlalu kecil untuk menampilkan prompt dan
meninggalkan setidaknya 8 kolom untuk memasukkan input, prompt terpotong dari kiri. jika
garis lebih panjang dari lebar jendela dikurangi dua, tanda ditampilkan di akhir
jendela untuk memberi tahu pengguna. Saat kursor bergerak dan mencapai batas jendela,
jendela akan terpusat di sekitar kursor. Tandanya adalah > (<, *) jika garis diperpanjang pada
sisi kanan (kiri, keduanya) jendela.

Perintah pencarian di setiap mode edit menyediakan akses ke file riwayat. Hanya senar
cocok, bukan pola, meskipun memimpin ^ dalam string membatasi pertandingan untuk dimulai
pada karakter pertama dalam baris.

Setiap mode edit memiliki operasi untuk membuat daftar file atau perintah yang cocok dengan
kata yang dimasukkan sebagian. Ketika diterapkan pada kata pertama pada baris, atau kata pertama
setelah a ;, , &, atau (, dan kata tidak dimulai dengan ~ atau mengandung /, daftar
alias, fungsi, dan perintah yang dapat dieksekusi yang ditentukan oleh PATH variabel yang bisa cocok
kata parsial ditampilkan. Jika tidak, daftar file yang cocok dengan kata yang diberikan adalah
ditampilkan. Jika kata yang dimasukkan sebagian tidak mengandung karakter perluasan file,
a * ditambahkan sebelum membuat daftar ini. Setelah menampilkan daftar yang dihasilkan,
garis input digambar ulang. Operasi ini disebut daftar nama perintah dan nama file
daftar, masing-masing. Ada operasi tambahan, disebut sebagai nama perintah
penyelesaian dan penyelesaian nama file, yang menghitung daftar perintah atau file yang cocok,
tetapi alih-alih mencetak daftar, ganti kata saat ini dengan yang lengkap atau sebagian
cocok. Untuk penyelesaian nama file, jika kecocokannya unik, a / ditambahkan jika file adalah
direktori dan spasi ditambahkan jika file tersebut bukan direktori. Kalau tidak, yang terpanjang
awalan umum untuk semua file yang cocok menggantikan kata. Untuk penyelesaian nama perintah,
hanya sebagian dari nama file setelah yang terakhir / digunakan untuk menemukan perintah terpanjang
awalan. Jika hanya satu nama yang cocok dengan awalan ini, maka kata tersebut diganti dengan
nama perintah diikuti dengan spasi. Saat menggunakan tab untuk penyelesaian yang tidak menghasilkan
pertandingan unik, selanjutnya tab akan memberikan daftar bernomor dari alternatif yang cocok. A
seleksi tertentu dapat dilakukan dengan memasukkan nomor seleksi diikuti dengan a tab.

kunci Binding.
The KEYBD trap dapat digunakan untuk mencegat kunci saat diketik dan mengubah karakter
yang benar-benar terlihat oleh cangkang. Perangkap ini dieksekusi setelah setiap karakter (atau
urutan karakter ketika karakter pertama adalah ESC) dimasukkan saat membaca dari a
terminal. variabel .sh.edchar berisi karakter atau urutan karakter yang
dihasilkan perangkap. Mengubah nilai .sh.edchar dalam aksi jebakan menyebabkan shell
untuk berperilaku seolah-olah nilai baru dimasukkan dari keyboard daripada yang asli
nilai.

Variabel .sh.edcol diatur ke nomor kolom input kursor pada saat
memasukkan. variabel .sh.edmode diatur ke ESC saat di vi mode insert (lihat di bawah) dan adalah
nol sebaliknya. Dengan mengawali ${.sh.editmode} ke nilai yang diberikan ke .sh.edchar itu akan
menyebabkan shell berubah ke mode kontrol jika belum dalam mode ini.

Perangkap ini tidak dipanggil untuk karakter yang dimasukkan sebagai argumen untuk mengedit arahan, atau
saat membaca input untuk pencarian karakter.

Emacs Mengedit Mode.
Mode ini dimasukkan dengan mengaktifkan salah satu dari emacs or gmac pilihan. Satu-satunya perbedaan
antara dua mode ini adalah cara mereka menangani ^T. Untuk mengedit, pengguna menggerakkan kursor ke
titik yang perlu dikoreksi kemudian menyisipkan atau menghapus karakter atau kata sesuai kebutuhan.
Semua perintah pengeditan adalah karakter kontrol atau urutan pelarian. Notasi untuk
karakter kontrol adalah tanda sisipan (^) diikuti oleh karakter. Sebagai contoh, ^F adalah
notasi untuk kontrol F. Ini dimasukkan dengan menekan `f' sambil menahan `CTRL'
(kontrol). Tombol `SHIFT' adalah tidak murung. (notasi ^? menunjukkan DEL
(hapus) kunci.)

Notasi untuk escape sequence adalah M- diikuti oleh karakter. Sebagai contoh, Mf
(diucapkan Meta f) dimasukkan dengan menekan ESC (ascii 033) diikuti oleh `f'. (MF akan
menjadi notasi untuk ESC diikuti oleh `SHIFT' (kapital) `F'.)

Semua perintah edit beroperasi dari tempat mana pun di telepon (tidak hanya di awal). Juga tidak
tombol `RETURN' atau `LINE FEED' dimasukkan setelah perintah edit kecuali jika dicatat.

^F Pindahkan kursor ke depan (kanan) satu karakter.
M-[C Pindahkan kursor ke depan (kanan) satu karakter.
Mf Pindahkan kursor ke depan satu kata. (NS emacs ide editor tentang sebuah kata adalah serangkaian
karakter yang hanya terdiri dari huruf, angka, dan garis bawah.)
^B Pindahkan kursor ke belakang (kiri) satu karakter.
M-[D Pindahkan kursor ke belakang (kiri) satu karakter.
Mb Pindahkan kursor mundur satu kata.
^A Pindahkan kursor ke awal baris.
M-[H Pindahkan kursor ke awal baris.
^E Pindahkan kursor ke akhir baris.
KU Pindahkan kursor ke akhir baris.
^]tangki Pindahkan kursor ke depan ke karakter tangki pada baris saat ini.
M-^]tangki Pindahkan kursor mundur ke karakter tangki pada baris saat ini.
^X^X Pertukarkan kursor dan tandai.
Menghapus (Karakter hapus yang ditentukan pengguna seperti yang didefinisikan oleh sty(1) perintah, biasanya ^H or
#.) Hapus karakter sebelumnya.
selanjutnya (Karakter literal berikutnya yang ditentukan pengguna seperti yang didefinisikan oleh sty(1) perintah, atau ^V if
tidak ditentukan.) Menghapus fitur pengeditan karakter berikutnya (jika ada).
^D Hapus karakter saat ini.
Md Hapus kata saat ini.
M-^H (Meta-backspace) Hapus kata sebelumnya.
Mh Hapus kata sebelumnya.
M-^? (Meta-DEL) Hapus kata sebelumnya (jika karakter interupsi Anda adalah ^? (DEL,
default) maka perintah ini tidak akan berfungsi).
^T Ubah posisi karakter saat ini dengan karakter sebelumnya dan arahkan kursor ke dalam
emacs mode. Transpose dua karakter sebelumnya di gmac mode.
^C Kapitalisasi karakter saat ini.
mc Kapitalisasi kata saat ini.
ml Ubah kata saat ini menjadi huruf kecil.
^K Hapus dari kursor ke akhir baris. Jika didahului dengan angka
parameter yang nilainya kurang dari posisi kursor saat ini, lalu hapus dari
diberikan posisi hingga kursor. Jika didahului oleh parameter numerik yang
nilainya lebih besar dari posisi kursor saat ini, lalu hapus dari kursor hingga
posisi kursor yang diberikan.
^W Membunuh dari kursor ke tanda.
Mp Dorong wilayah dari kursor ke tanda di tumpukan.
membunuh (Karakter pembunuh yang ditentukan pengguna seperti yang didefinisikan oleh perintah stty, biasanya ^G or @.)
Bunuh seluruh baris saat ini. Jika dua membunuh karakter dimasukkan secara berurutan,
semua membunuh karakter sejak saat itu menyebabkan umpan baris (berguna saat menggunakan kertas
terminal).
^Y Pulihkan item terakhir yang dihapus dari baris. (Tarik item kembali ke baris.)
^L Umpan baris dan cetak baris saat ini.
M-^L Kosongkan layar.
^@ (Karakter nol) Setel tanda.
M-ruang (Ruang meta) Setel tanda.
^J (Baris baru) Jalankan baris saat ini.
^M (Kembali) Jalankan baris saat ini.
eof Karakter akhir file, biasanya ^D, diproses sebagai End-of-file hanya jika
baris saat ini adalah nol.
^P Ambil perintah sebelumnya. Setiap kali ^P dimasukkan kembali perintah sebelumnya
waktu diakses. Bergerak mundur satu baris ketika tidak berada di baris pertama dari multi-
perintah baris.
M-[SEBUAH Jika kursor berada di akhir baris, itu sama dengan ^R dengan string set
dengan isi baris saat ini. Jika tidak, itu setara dengan ^P.
M- Ambil baris riwayat paling baru (terlama).
M-> Ambil baris sejarah terbaru (paling muda).
^N Ambil baris perintah berikutnya. Setiap kali ^N dimasukkan baris perintah berikutnya ke depan
dalam waktu diakses.
M-[B Setara dengan ^N.
^Rstring Membalikkan riwayat pencarian untuk baris perintah sebelumnya yang berisi string. Jika sebuah
parameter nol diberikan, pencarian diteruskan. String diakhiri oleh
`KEMBALI' atau `GARIS BARU'. Jika string didahului oleh a ^, garis yang cocok harus
mulai dengan string. Jika string dihilangkan, maka baris perintah berikutnya berisi
paling baru string diakses. Dalam hal ini parameter nol terbalik
arah pencarian.
^O Operasikan - Jalankan baris saat ini dan ambil baris berikutnya relatif terhadap arus
baris dari file sejarah.
M-digit (Escape) Tentukan parameter numerik, digit diambil sebagai parameter ke
perintah berikutnya. Perintah yang menerima parameter adalah ^F, ^B, Menghapus, ^C, ^D,
^K, ^R, ^P, ^N, ^], M-., M-^], M-_, M-=, Mb, mc, Md, Mf, Mh, ml dan M-^H.
M-surat Soft-key - Daftar alias Anda dicari alias berdasarkan nama _surat dan jika
alias nama ini didefinisikan, nilainya akan dimasukkan pada antrian input.
The surat tidak boleh salah satu dari meta-fungsi di atas.
M-[surat Soft-key - Daftar alias Anda dicari alias berdasarkan nama __surat dan jika
alias nama ini didefinisikan, nilainya akan dimasukkan pada antrian input.
Ini dapat digunakan untuk memprogram tombol fungsi pada banyak terminal.
M-. Kata terakhir dari perintah sebelumnya disisipkan pada baris. Jika didahului dengan
parameter numerik, nilai parameter ini menentukan kata mana yang akan dimasukkan
daripada kata terakhir.
M-_ Sama dengan M-..
M-* Coba pembuatan nama file pada kata saat ini. Tanda bintang ditambahkan jika
kata tidak cocok dengan file apa pun atau berisi karakter pola khusus apa pun.
M-ESC Perintah atau penyelesaian nama file seperti yang dijelaskan di atas.
^I tab Mencoba menyelesaikan perintah atau nama file seperti yang dijelaskan di atas. Jika sebagian
penyelesaian terjadi, mengulangi ini akan berperilaku seolah-olah M-= dimasukkan. Jika tidak
kecocokan ditemukan atau dimasukkan setelah ruang, Sebuah tab dimasukkan.
M-= Jika tidak didahului oleh parameter numerik, itu menghasilkan daftar yang cocok
perintah atau nama file seperti yang dijelaskan di atas. Jika tidak, kata di bawah kursor
digantikan oleh item yang sesuai dengan nilai parameter numerik dari
perintah atau daftar file yang paling baru dibuat. Jika kursor tidak berada di a
kata, itu dimasukkan sebagai gantinya.
^U Kalikan parameter perintah berikutnya dengan 4.
\ Kabur karakter berikutnya. Mengedit karakter, pengguna menghapus, membunuh, dan menyela
(biasanya ^?) karakter dapat dimasukkan dalam baris perintah atau dalam string pencarian
jika didahului dengan \. itu \ menghapus fitur pengeditan karakter berikutnya (jika
setiap).
M-^V Tampilkan versi shell.
M-# Jika baris tidak dimulai dengan #, Sebuah # dimasukkan di awal
baris dan setelah setiap baris baru, dan baris dimasukkan. Hal ini menyebabkan komentar untuk
dimasukkan ke dalam file riwayat. Jika garis dimulai dengan #, yang # dihapus
dan satu # setelah setiap baris baru juga dihapus.

Vi Mengedit Mode.
Ada dua mode pengetikan. Awalnya, ketika Anda memasukkan perintah, Anda berada di memasukkan
mode. Untuk mengedit, pengguna memasukkan kontrol mode dengan mengetik ESC (033) dan memindahkan kursor ke
titik yang perlu dikoreksi kemudian menyisipkan atau menghapus karakter atau kata sesuai kebutuhan.
Sebagian besar perintah kontrol menerima pengulangan opsional menghitung sebelum perintah.

Saat masuk vi mode pada sebagian besar sistem, pemrosesan kanonik pada awalnya diaktifkan dan perintah
akan bergema lagi jika kecepatannya 1200 baud atau lebih besar dan berisi kontrol apa pun
karakter atau kurang dari satu detik telah berlalu sejak prompt dicetak. ESC
karakter menghentikan pemrosesan kanonik untuk sisa perintah dan pengguna
kemudian dapat memodifikasi baris perintah. Skema ini memiliki keunggulan pemrosesan kanonik
dengan tipe-depan bergema mode mentah.

Jika opsi virus juga disetel, terminal akan selalu memiliki pemrosesan kanonik
dengan disabilitas. Mode ini tersirat untuk sistem yang tidak mendukung dua alternatif akhir baris
pembatas, dan mungkin berguna untuk terminal tertentu.

Memasukkan Sunting Perintah
Secara default editor dalam mode input.
Menghapus (Karakter hapus yang ditentukan pengguna seperti yang didefinisikan oleh perintah stty, biasanya ^H
or #.) Hapus karakter sebelumnya.
^W Hapus kata terpisah yang kosong sebelumnya. Pada beberapa sistem, virus
opsi mungkin diperlukan agar ini berfungsi.
eof Karena karakter pertama dari baris menyebabkan Shell berhenti kecuali
itu mengabaikan pilihan diatur. Jika tidak, karakter ini diabaikan.
selanjutnya (Karakter literal berikutnya yang ditentukan pengguna seperti yang didefinisikan oleh sty(1) atau ^V if
tidak ditentukan.) Menghapus fitur pengeditan karakter berikutnya (jika ada).
Pada beberapa sistem, virus opsi mungkin diperlukan agar ini berfungsi.
\ Melarikan diri berikutnya Menghapus or membunuh karakter.
^I tab Mencoba perintah atau penyelesaian nama file seperti yang dijelaskan di atas dan kembali
ke mode masukan. Jika penyelesaian sebagian terjadi, mengulangi ini akan
berperilaku seolah-olah = dimasukkan dari mode kontrol. Jika tidak ada kecocokan yang ditemukan atau
masuk setelah ruang, Sebuah tab dimasukkan.
Gerakan Sunting Perintah
Perintah-perintah ini akan memindahkan kursor.
[menghitung]l Kursor maju (kanan) satu karakter.
[menghitung][C Kursor maju (kanan) satu karakter.
[menghitung]w Kursor meneruskan satu kata alfanumerik.
[menghitung]W Kursor ke awal kata berikutnya yang mengikuti kosong.
[menghitung]e Kursor ke akhir kata.
[menghitung]E Kursor ke akhir kata yang dibatasi kosong saat ini.
[menghitung]h Kursor mundur (kiri) satu karakter.
[menghitung][D Kursor mundur (kiri) satu karakter.
[menghitung]b Kursor mundur satu kata.
[menghitung]B Kursor ke kata yang dipisahkan sebelumnya kosong.
[menghitung] Kursor ke kolom menghitung.
[menghitung]fc Temukan karakter berikutnya c di baris saat ini.
[menghitung]Fc Temukan karakter sebelumnya c di baris saat ini.
[menghitung]tc Setara dengan f diikuti oleh h.
[menghitung]Tc Setara dengan F diikuti oleh l.
[menghitung]; Mengulangi menghitung kali, perintah find karakter tunggal terakhir, f, F, t, atau
T.
[menghitung], Membalikkan perintah pencarian karakter tunggal terakhir menghitung kali.
0 Kursor untuk memulai baris.
^ Kursor untuk memulai baris.
[H Kursor ke karakter non-kosong pertama dalam baris.
$ Kursor ke akhir baris.
[Y Kursor ke akhir baris.
% Bergerak untuk menyeimbangkan (, ), {, }, [, atau ]. Jika kursor tidak berada di salah satu dari
karakter di atas, sisa baris dicari untuk yang pertama
kemunculan salah satu karakter di atas terlebih dahulu.
Cari Sunting Perintah
Perintah-perintah ini mengakses riwayat perintah Anda.
[menghitung]k Ambil perintah sebelumnya. Setiap kali k dimasukkan kembali perintah sebelumnya
dalam waktu diakses.
[menghitung]- Setara dengan k.
[menghitung][A Jika kursor berada di akhir baris, itu setara dengan / dengan string^set
untuk itu isi of itu arus line. Jika tidak, itu setara dengan k.
[menghitung]j Ambil perintah berikutnya. Setiap kali j dimasukkan perintah berikutnya ke depan di
waktu diakses.
[menghitung]+ Setara dengan j.
[menghitung][B Setara dengan j.
[menghitung]G Nomor perintah menghitung diambil. Defaultnya adalah yang paling baru
perintah sejarah.
/string Cari mundur melalui sejarah untuk perintah sebelumnya yang mengandung string.
String diakhiri dengan `RETURN' atau `NEW LINE'. Jika string didahului
oleh ^, garis yang cocok harus dimulai dengan string. Jika string adalah nol,
string sebelumnya akan digunakan.
?string Sama dengan / kecuali pencarian itu akan mengarah ke depan.
n Cari kecocokan berikutnya dari pola terakhir untuk / or ? perintah.
N Cari kecocokan berikutnya dari pola terakhir untuk / or ?, tapi sebaliknya
arah.
Teks Modifikasi Sunting Perintah
Perintah ini akan mengubah baris.
a Masuk ke mode input dan masukkan teks setelah karakter saat ini.
A Tambahkan teks ke akhir baris. Setara dengan $a.
[menghitung]cgerakan
c[menghitung]gerakan
Hapus karakter saat ini melalui karakter yang gerakan akan memindahkan
kursor ke dan masuk ke mode input. Jika gerakan is c, seluruh baris akan menjadi
dihapus dan mode input masuk.
C Hapus karakter saat ini melalui akhir baris dan masukkan input
mode. Setara dengan c$.
S Setara dengan cc.
[menghitung]s Ganti karakter di bawah kursor dalam mode input.
D Hapus karakter saat ini melalui akhir baris. Setara dengan d$.
[menghitung]dgerakan
d[menghitung]gerakan
Hapus karakter saat ini melalui karakter yang gerakan akan pindah ke.
If gerakan is d , seluruh baris akan dihapus.
i Masuk ke mode input dan masukkan teks sebelum karakter saat ini.
I Sisipkan teks sebelum awal baris. Setara dengan 0i.
[menghitung]P Tempatkan modifikasi teks sebelumnya sebelum kursor.
[menghitung]p Tempatkan modifikasi teks sebelumnya setelah kursor.
R Masuk ke mode input dan ganti karakter di layar dengan karakter Anda
jenis mode overlay.
[menghitung]rc Ganti menghitung karakter dimulai dari posisi kursor saat ini
dengan c, dan memajukan kursor.
[menghitung]x Hapus karakter saat ini.
[menghitung]X Hapus karakter sebelumnya.
[menghitung]. Ulangi perintah modifikasi teks sebelumnya.
[menghitung]~ Balikkan kasus dari menghitung karakter dimulai dari kursor saat ini
posisi dan memajukan kursor.
[menghitung]_ Menyebabkan menghitung kata dari perintah sebelumnya untuk ditambahkan dan dimasukkan
modus masuk. Kata terakhir digunakan jika menghitung dihilangkan.
* Penyebab dan * untuk ditambahkan ke generasi kata dan nama file saat ini
berusaha. Jika tidak ada kecocokan yang ditemukan, bel berbunyi. Jika tidak, kata
digantikan oleh pola yang cocok dan mode input dimasukkan.
\ Perintah atau penyelesaian nama file seperti yang dijelaskan di atas.
Lainnya Sunting Perintah
Perintah bermacam-macam.
[menghitung]ygerakan
y[menghitung]gerakan
Tarik karakter saat ini melalui karakter itu gerakan akan memindahkan
kursor ke dan menempatkannya ke buffer hapus. Teks dan kursor adalah
tidak berubah.
yy Menarik seluruh baris.
Y Menarik dari posisi saat ini ke akhir baris. Setara dengan y$.
u Batalkan perintah modifikasi teks terakhir.
U Batalkan semua perintah modifikasi teks yang dilakukan di telepon.
[menghitung]v Mengembalikan perintah hist -e ${VISUAL:-${EDITOR:-vi}} menghitung di masukan
penyangga. Jika menghitung dihilangkan, maka baris saat ini digunakan.
^L Umpan baris dan cetak baris saat ini. Memiliki efek hanya dalam mode kontrol.
^J (Baris baru) Jalankan baris saat ini, apa pun modenya.
^M (Kembali) Jalankan baris saat ini, apa pun modenya.
# Jika karakter pertama dari perintah adalah a #, maka perintah ini akan menghapus
ini # dan masing-masing # yang mengikuti baris baru. Jika tidak, kirim jalur
setelah memasukkan # di depan setiap baris dalam perintah. Berguna untuk
menyebabkan baris saat ini dimasukkan ke dalam riwayat sebagai komentar dan
membatalkan komentar perintah yang dikomentari sebelumnya dalam file riwayat.
[menghitung]= If menghitung tidak ditentukan, itu menghasilkan daftar perintah yang cocok atau
nama file seperti yang dijelaskan di atas. Jika tidak, kata di bawah kursor
digantikan oleh menghitung item dari perintah yang paling baru dibuat atau
daftar file. Jika kursor tidak pada kata, itu dimasukkan sebagai gantinya.
@surat Daftar alias Anda mencari alias dengan nama _surat dan jika
alias nama ini didefinisikan, nilainya akan dimasukkan pada input
antrian untuk diproses.
^V Tampilkan versi shell.

Built-in Perintah.
Perintah-perintah sederhana berikut dijalankan dalam proses shell. Pengalihan input/output
diizinkan. Kecuali dinyatakan lain, output ditulis pada deskriptor file 1 dan
status keluar, ketika tidak ada kesalahan sintaks, adalah nol. Kecuali untuk :, benar, palsu, gema,
baru, dan masuk, semua perintah bawaan menerima -- untuk menunjukkan akhir opsi. Mereka juga
menafsirkan opsi --pria sebagai permintaan untuk menampilkan halaman manual ke kesalahan standar dan -?
sebagai permintaan bantuan yang mencetak pemakaian pesan pada kesalahan standar. Perintah-perintah itu adalah
didahului oleh satu atau dua simbol adalah perintah bawaan khusus dan diperlakukan secara khusus
dengan cara berikut:
1. Daftar penugasan variabel sebelum perintah tetap berlaku saat perintah
selesai.
2. Pengalihan I/O diproses setelah penetapan variabel.
3. Kesalahan menyebabkan skrip yang berisi mereka dibatalkan.
4. Mereka bukan nama fungsi yang valid.
5. Kata-kata yang mengikuti perintah yang diawali dengan yang dalam format variabel
penugasan diperluas dengan aturan yang sama dengan penugasan variabel. Ini berarti
bahwa substitusi tilde dilakukan setelah = tanda dan pemisahan bidang dan file
pembuatan nama tidak dilakukan. Ini disebut pernyataan built-in.

: [ arg ... ]
Perintah hanya memperluas parameter.

. nama [ arg ... ]
If nama adalah fungsi yang didefinisikan dengan fungsi nama sintaks kata yang dicadangkan, the
fungsi dijalankan di lingkungan saat ini (seolah-olah telah didefinisikan dengan
nama() sintaks.) Jika tidak, jika nama mengacu pada sebuah file, file tersebut dibaca dalam nya
keseluruhan dan perintah dijalankan di lingkungan shell saat ini. NS
jalur pencarian ditentukan oleh PATH digunakan untuk mencari direktori yang berisi file.
Jika ada argumen arg diberikan, mereka menjadi parameter posisi sementara
memproses . perintah dan parameter posisi asli dipulihkan pada
penyelesaian. Jika tidak, parameter posisi tidak berubah. Status keluarnya adalah
status keluar dari perintah terakhir yang dieksekusi.

†† alias [ -ptx ] [ nama[ =nilai ] ] ...
alias tanpa argumen mencetak daftar alias dalam formulir nama=nilai on
keluaran standar. NS -p pilihan menyebabkan kata alias untuk dimasukkan sebelum masing-masing
satu. Ketika satu atau lebih argumen diberikan, alias didefinisikan untuk masing-masing nama yang
nilai diberikan. Sebuah ruang tertinggal di nilai menyebabkan kata berikutnya diperiksa
alias pengganti. yang usang -t opsi digunakan untuk mengatur dan membuat daftar yang dilacak
alias. Nilai alias yang dilacak adalah nama path lengkap yang sesuai dengan
diberikan nama. Nilai menjadi tidak terdefinisi ketika nilai PATH diatur ulang tetapi
alias tetap terlacak. Tanpa -t pilihan, untuk masing-masing nama dalam daftar argumen
untuk yang tidak nilai diberikan, nama dan nilai alias dicetak. NS
usang -x pilihan tidak berpengaruh. Status keluar bukan nol jika a nama diberikan,
tetapi tidak ada nilai, dan tidak ada alias yang ditentukan untuk nama.

bg [ pekerjaan... ]
Perintah ini hanya pada sistem yang mendukung kontrol pekerjaan. Menempatkan masing-masing ditentukan pekerjaan
ke latar belakang. Pekerjaan saat ini diletakkan di latar belakang jika pekerjaan tidak
ditentukan. Lihat Jobs untuk penjelasan format pekerjaan.

istirahat [ n ]
Keluar dari lampiran untuk, sementara, sampai, atau memilih lingkaran, jika ada. Jika n is
ditentukan, lalu istirahat n tingkat.

builtin [ -ds ] [ -f fillet ] [ nama ... ]
If nama tidak ditentukan, dan tidak -f opsi ditentukan, built-in dicetak
pada keluaran standar. NS -s pilihan hanya mencetak built-in khusus. Sebaliknya,
setiap nama mewakili nama path yang nama dasarnya adalah nama built-in. NS
nama fungsi titik masuk ditentukan dengan menambahkan b_ ke nama bawaan. A
built-in yang ditentukan oleh nama path hanya akan dieksekusi ketika nama path itu adalah
ditemukan selama pencarian jalan. Built-in ditemukan di perpustakaan yang dimuat melalui .jalan
file akan dikaitkan dengan nama path direktori yang berisi .jalan
file.

Prototipe ISO C/C++ adalah b_perintah saya(ke dalam argumen, tangki *argumen[], membatalkan *konteks) untuk
perintah bawaan perintah saya dimana argumen adalah array dari argumen elemen dan konteks adalah
penunjuk opsional ke a Kerang_t struktur seperti yang dijelaskan dalam .
Built-in khusus tidak dapat diikat ke nama path atau dihapus. NS -d opsi menghapus masing-masing
built-in yang diberikan. Pada sistem yang mendukung pemuatan dinamis, -f nama opsi a
perpustakaan bersama yang berisi kode untuk built-in. Awalan perpustakaan bersama dan/atau
akhiran, yang bergantung pada sistem, dapat dihilangkan. Setelah perpustakaan dimuat, simbolnya
menjadi tersedia untuk pemanggilan berikutnya dari builtin. Beberapa perpustakaan dapat
ditentukan dengan doa terpisah dari builtin memerintah. Perpustakaan dicari di
urutan terbalik di mana mereka ditentukan. Ketika sebuah perpustakaan dimuat, ia mencari
fungsi di perpustakaan yang namanya lib_init() dan memanggil fungsi ini dengan
argumen dari 0.

cd [ -LP ] [ arg ]
cd [ -LP ] tua yang baru
Perintah ini dapat dalam salah satu dari dua bentuk. Dalam bentuk pertama itu mengubah
direktori saat ini ke arg. Jika arg is - direktori diubah ke sebelumnya
direktori. variabel cangkang HOME adalah defaultnya arg. Variabel PWD diatur ke
direktori saat ini. variabel cangkang CDPATH mendefinisikan jalur pencarian untuk
direktori yang berisi arg. Nama direktori alternatif dipisahkan oleh titik dua
(:). Jalur default adalah (menentukan direktori saat ini). Perhatikan bahwa
direktori saat ini ditentukan oleh nama jalur nol, yang dapat segera muncul
setelah tanda sama dengan atau di antara pembatas titik dua di tempat lain di jalur
Daftar. Jika arg dimulai dengan a / maka jalur pencarian tidak digunakan. Jika tidak, masing-masing
direktori di jalur dicari arg.
Bentuk kedua dari cd menggantikan string yang baru untuk tali tua pada saat ini
nama direktori, PWD, dan mencoba mengubah ke direktori baru ini.
Secara default, nama tautan simbolik diperlakukan secara harfiah ketika menemukan direktori
nama. Ini setara dengan -L pilihan. Itu -P opsi menyebabkan tautan simbolik ke
diselesaikan saat menentukan direktori. Contoh terakhir dari -L or -P pada
baris perintah menentukan metode mana yang digunakan.
The cd perintah tidak boleh dijalankan oleh rksh. rksh93.

Command [ -pvxV ] nama [ arg ... ]
Tanpa -v or -V Pilihan Command mengeksekusi nama dengan argumen yang diberikan oleh
arg. itu -p opsi menyebabkan jalur default dicari daripada yang
ditentukan oleh nilai PATH. Fungsi tidak akan dicari saat menemukan
nama. Selain itu, jika nama mengacu pada built-in khusus, tidak ada yang khusus
properti yang terkait dengan belati terkemuka akan dihormati. (Misalnya,
alias yang telah ditentukan sebelumnya redirect=′perintah eksekutif mencegah skrip dari penghentian ketika
pengalihan tidak valid diberikan.) Dengan -x opsi, jika eksekusi perintah akan
mengakibatkan kegagalan karena terlalu banyak argumen, errno E2BESAR, kerang
akan memanggil perintah nama beberapa kali dengan subset dari argumen pada masing-masing
doa. Argumen yang muncul sebelum kata pertama yang diperluas menjadi kelipatan
argumen dan setelah kata terakhir yang diperluas ke beberapa argumen akan diteruskan
pada setiap seruan. Status keluar akan menjadi status keluar permintaan maksimum.
Dengan -v pilihan, Command setara dengan built-in dari mana perintah dijelaskan
di bawah. Itu -V pilihan penyebab Command untuk bertindak seperti dari mana -v.

terus [ n ]
Lanjutkan iterasi berikutnya dari lampiran untuk, sementara, sampai, atau memilih lingkaran. Jika n
ditentukan, lalu lanjutkan di n-th melampirkan loop.

menyangkal [ pekerjaan... ]
Menyebabkan shell tidak mengirim sinyal HUP ke masing-masing yang diberikan pekerjaan, atau semua pekerjaan aktif jika
pekerjaan dihilangkan, ketika shell login berakhir.

gema [ arg ... ]
Kapan pertama arg tidak dimulai dengan -, dan tidak ada argumen yang mengandung \,
kemudian gema mencetak setiap argumennya dipisahkan oleh spasi dan diakhiri oleh a
garis baru. Jika tidak, perilaku gema bergantung pada sistem dan mencetak or Printf
dijelaskan di bawah ini harus digunakan. Melihat gema(1) untuk penggunaan dan deskripsi.

†† enum [ -i ] mengetik[=(nilai ...)]
Membuat perintah deklarasi bernama mengetik itu adalah tipe integer yang memungkinkan salah satu dari
yang ditentukan nilais sebagai nama enumerasi. Jika =(nilai ...) dihilangkan, maka mengetik
harus berupa variabel array terindeks dengan setidaknya dua elemen dan nilainya adalah
diambil dari variabel array ini. Jika -i ditentukan nilainya adalah case
tidak peka.

evaluasi [ arg ... ]
Argumen dibaca sebagai input ke shell dan perintah yang dihasilkan dieksekusi.

eksekutif [ -c ] [ -a nama ] [ arg ... ]
If arg diberikan, perintah yang ditentukan oleh argumen dijalankan sebagai pengganti
shell ini tanpa membuat proses baru. Itu -c pilihan menyebabkan lingkungan menjadi
dibersihkan sebelum menerapkan penugasan variabel yang terkait dengan eksekutif
doa. Itu -a pilihan penyebab nama daripada yang pertama arg, untuk menjadi argumen[0]
untuk proses baru. Argumen input/output mungkin muncul dan memengaruhi arus
proses. Jika arg tidak diberikan, efek dari perintah ini adalah untuk memodifikasi file
deskriptor seperti yang ditentukan oleh daftar pengalihan input/output. Dalam hal ini, apapun
nomor deskriptor file lebih besar dari 2 yang dibuka dengan mekanisme ini adalah
ditutup saat menjalankan program lain.

keluar [ n ]
Menyebabkan shell keluar dengan status keluar yang ditentukan oleh n. Nilainya menjadi
paling tidak signifikan 8 bit dari status yang ditentukan. Jika n dihilangkan, maka
status keluar adalah perintah terakhir yang dieksekusi. End-of-file juga akan menyebabkan
shell untuk keluar kecuali shell yang memiliki mengabaikan pilihan (lihat set bawah)
dihidupkan.

†† ekspor [ -p ] [ nama[=nilai] ] ...
If nama tidak diberikan, nama dan nilai setiap variabel dengan ekspor
atribut dicetak dengan nilai-nilai yang dikutip dengan cara yang memungkinkan mereka untuk kembali
memasukkan. Itu ekspor perintahnya sama dengan mengeset -x kecuali jika Anda menggunakan ekspor
dalam suatu fungsi, tidak ada variabel lokal yang dibuat. Itu -p pilihan menyebabkan kata
ekspor untuk dimasukkan sebelum masing-masing. Jika tidak, yang diberikan namas ditandai untuk
ekspor otomatis ke lingkungan Hidup dari perintah yang dijalankan selanjutnya.

palsu Tidak melakukan apa-apa, dan keluar 1. Digunakan dengan sampai untuk loop tak terbatas.

fg [ pekerjaan... ]
Perintah ini hanya pada sistem yang mendukung kontrol pekerjaan. Setiap pekerjaan ditentukan adalah
dibawa ke latar depan dan menunggu dalam urutan yang ditentukan. Jika tidak,
pekerjaan saat ini dibawa ke latar depan. Melihat Jobs untuk deskripsi tentang
format pekerjaan.

dapatkanconf [ nama [ nama jalur ] ]
Mencetak nilai parameter konfigurasi saat ini yang diberikan oleh nama. itu
parameter konfigurasi ditentukan oleh IEEE POSIX 1003.1 dan IEEE POSIX 1003.2
standar. (Melihat pathconf(2) dan sysconf(2).) nama jalur argumen diperlukan
untuk parameter yang nilainya tergantung pada lokasi di sistem file. Jika tidak
argumen yang diberikan, dapatkanconf mencetak nama dan nilai arus
parameter konfigurasi. Nama jalannya / digunakan untuk setiap parameter yang
membutuhkan nama jalur.

getopt [ -a nama ] string pilihan nama v [ arg ... ]
Cek arg untuk pilihan hukum. Jika arg dihilangkan, parameter posisi adalah
digunakan. Argumen opsi dimulai dengan + atau -. Pilihan yang tidak dimulai dengan +
or - atau argumen -- mengakhiri opsi. Opsi dimulai dengan + hanya
diakui ketika string pilihan dimulai dengan a +. string pilihan berisi huruf yang
getopt mengakui. Jika sebuah huruf diikuti oleh :, opsi itu diharapkan
memiliki argumen. Opsi dapat dipisahkan dari argumen dengan kosong. Itu
Option -? penyebab getopt untuk menghasilkan pesan penggunaan pada kesalahan standar. Itu -a
argumen dapat digunakan untuk menentukan nama yang akan digunakan untuk pesan penggunaan, yang
default ke $0.
getopt menempatkan huruf opsi berikutnya yang ditemukannya di dalam variabel nama v setiap kali itu
dipanggil. Surat opsi akan diawali dengan + ketika arg dimulai dengan a +.
Indeks berikutnya arg disimpan di MEMILIH. Argumen opsi, jika ada, mendapat
disimpan di MEMILIH.
Terkemuka : in string pilihan penyebab getopt untuk menyimpan surat opsi yang tidak valid di
MEMILIH, dan untuk mengatur nama v untuk ? untuk opsi yang tidak diketahui dan untuk : ketika diperlukan
argumen opsi tidak ada. Jika tidak, getopt mencetak pesan kesalahan. Keluar
status bukan nol ketika tidak ada opsi lagi.
Tidak ada cara untuk menentukan opsi apa pun :, +, -, ?, [, dan ]. Pilihan #
hanya dapat ditentukan sebagai opsi pertama.

hist [ -e enamel ] [ -nlr ] [ pertama [ terakhir ] ]
hist -s [ tua=yang baru ] [ Command ]
Dalam bentuk pertama, serangkaian perintah dari pertama untuk terakhir dipilih dari yang terakhir
UKURAN SEJARAH perintah yang diketik di terminal. Argumen pertama dan terakhir
dapat ditentukan sebagai angka atau string. Sebuah string digunakan untuk mencari lokasi terbanyak
perintah terbaru dimulai dengan string yang diberikan. Bilangan negatif digunakan sebagai
offset ke nomor perintah saat ini. jika -l opsi dipilih, perintah
tercantum pada keluaran standar. Jika tidak, program editor enamel dipanggil pada
file yang berisi perintah keyboard ini. Jika enamel tidak diberikan, maka nilai
dari variabel SEJARAH digunakan. Jika SEJARAH tidak diatur, maka FCEDIT (bawaan
/usr/bin/ex) digunakan sebagai editor. Saat pengeditan selesai, yang diedit
perintah dijalankan jika perubahan telah disimpan. Jika terakhir tidak ditentukan,
maka akan diatur ke pertama. Jika pertama tidak ditentukan, defaultnya adalah
perintah sebelumnya untuk mengedit dan -16 untuk daftar. Pilihan -r membalik urutan
dari perintah dan opsi -n menekan nomor perintah saat mendaftar. Dalam
bentuk kedua, Command ditafsirkan sebagai pertama dijelaskan di atas dan default ke
perintah terakhir dijalankan. Perintah yang dihasilkan dieksekusi setelah opsional
substitusi tua=yang baru dilakukan.

pekerjaan [ -lnp ] [ pekerjaan ... ]
Daftar informasi tentang setiap pekerjaan yang diberikan; atau semua pekerjaan aktif jika pekerjaan dihilangkan. NS
-l daftar opsi id proses selain informasi normal. Itu -n Option
hanya menampilkan pekerjaan yang telah berhenti atau keluar sejak terakhir kali diberitahu. Itu -p Option
menyebabkan hanya grup proses yang terdaftar. Melihat Jobs untuk deskripsi tentang
format pekerjaan.

membunuh [ -s tanda tangan ] pekerjaan ...
membunuh [ -n tanda tangan ] pekerjaan ...
membunuh -II [ sig ... ]
Mengirim sinyal TERM (terminasi) atau sinyal yang ditentukan ke yang ditentukan
pekerjaan atau proses. Sinyal diberikan dengan nomor dengan -n pilihan atau dengan
nama dengan -s pilihan (seperti yang diberikan dalam , dihilangkan dari awalan ``SIG''
dengan pengecualian bahwa SIGCLD bernama CHLD). Untuk kompatibilitas mundur, n
dan s dapat dihilangkan dan nomor atau nama ditempatkan segera setelah -. Jika
sinyal yang dikirim adalah TERM (terminate) atau HUP (hangup), maka pekerjaan atau proses akan
akan dikirim sinyal CONT (continue) jika dihentikan. Argumen pekerjaan bisa menjadi
id proses dari proses yang bukan merupakan anggota dari salah satu pekerjaan aktif. Melihat Jobs
untuk penjelasan format pekerjaan. Dalam bentuk ketiga, membunuh -l, atau membunuh -L, Jika
sig tidak ditentukan, nama sinyal dicantumkan. Itu -l daftar pilihan hanya
nama sinyal. -L pilihan mencantumkan setiap nama sinyal dan nomor yang sesuai.
Jika tidak, untuk masing-masing sig itu adalah nama, nomor sinyal yang sesuai terdaftar.
Untuk setiap sig itu adalah angka, nama sinyal yang sesuai dengan yang terkecil
signifikan 8 bit dari sig terdaftar.

membiarkan arg ...
Masing-masing arg terpisah hitung ekspresi untuk dievaluasi. membiarkan hanya mengenali
konstanta oktal dimulai dengan 0 ketika set Option letoktal aktif. Melihat Hitung
Evaluasi di atas, untuk deskripsi evaluasi ekspresi aritmatika.
Status keluar adalah 0 jika nilai ekspresi terakhir bukan nol, dan 1
jika tidak.

baru [ arg ... ]
Setara dengan eksekutif /bin/newgrp arg ....

mencetak [ -CRenprsv ] [ -u satuan] [ -f format ] [ arg ... ]
Tanpa opsi atau dengan opsi - or --masing-masing arg dicetak pada keluaran standar.
The -f opsi menyebabkan argumen dicetak seperti yang dijelaskan oleh Printf. Dalam
kasus, apa saja e, n, r, R pilihan diabaikan. Jika tidak, kecuali -C, -R, -r, atau -v
ditentukan, konvensi escape berikut akan diterapkan:
\a Karakter waspada (ascii 07).
\b Karakter spasi mundur (ascii 010).
\c Global mencetak untuk mengakhiri tanpa memproses lebih banyak argumen dan tidak menambahkan yang baru-
line.
\f Karakter formfeed (ascii 014).
\n Karakter baris baru (ascii 012).
\r Karakter carriage return (ascii 015).
\t Karakter tab (ascii 011).
\v Karakter tab vertikal (ascii 013).
\E Karakter pelarian (ascii 033).
\\ Karakter garis miring terbalik \.
\0x Karakter yang ditentukan oleh string oktal 1, 2, atau 3 digit yang diberikan oleh x.

The -R opsi akan mencetak semua argumen dan opsi berikutnya selain -n. itu
-e menyebabkan konvensi escape di atas diterapkan. Ini defaultnya
perilaku. Ini membalikkan efek dari sebelumnya -r. itu -p pilihan menyebabkan
argumen yang akan ditulis ke pipa proses yang dihasilkan dengan & alih-alih
keluaran standar. NS -v pilihan memperlakukan masing-masing arg sebagai nama variabel dan menulis
nilai di Printf %B format. Itu -C pilihan memperlakukan masing-masing arg sebagai nama variabel
dan tulis nilainya di Printf %#B format. Itu -s opsi menyebabkan argumen
untuk ditulis ke file riwayat alih-alih keluaran standar. Itu -u pilihan bisa
digunakan untuk menentukan nomor unit deskriptor file satu digit satuan dimana outputnya
akan ditempatkan. Standarnya adalah 1. Jika opsi -n digunakan, tidak garis baru telah ditambahkan
ke keluaran.

Printf format [ arg ... ]
Argumen arg dicetak pada keluaran standar sesuai dengan ANSI-C
aturan pemformatan yang terkait dengan string format format. Jika jumlah
argumen melebihi jumlah spesifikasi format, format string digunakan kembali
untuk memformat argumen yang tersisa. Ekstensi berikut juga dapat digunakan:
%b A %b format dapat digunakan sebagai pengganti %s menyebabkan urutan pelarian di
sesuai arg untuk diperluas seperti yang dijelaskan dalam mencetak.
%B A %B opsi menyebabkan setiap argumen diperlakukan sebagai nama variabel dan
nilai biner variabel akan dicetak. Bendera alternatif # menyebabkan a
variabel majemuk untuk menjadi output pada satu baris. Ini paling berguna untuk
variabel majemuk dan variabel yang atributnya adalah -b.
%H A %H format dapat digunakan sebagai pengganti %s menyebabkan karakter dalam arg Yang memiliki
khusus dalam HTML dan XML untuk menjadi output sebagai nama entitas mereka. alternatif
bendera # memformat output untuk digunakan sebagai URI.
%P A %P format dapat digunakan sebagai pengganti %s menyebabkan arg diinterpretasikan sebagai
diperpanjang ekspresi reguler dan dicetak sebagai pola shell.
%R A %R format dapat digunakan sebagai pengganti %s menyebabkan arg ditafsirkan sebagai
pola shell dan untuk dicetak sebagai ekspresi reguler yang diperluas.
%q A %q format dapat digunakan sebagai pengganti %s menyebabkan string yang dihasilkan menjadi
dikutip dengan cara yang dapat dimasukkan kembali ke shell. Kapan q diawali dengan
penentu format alternatif, #, string dikutip dengan cara yang sesuai
sebagai bidang dalam . CSV berkas format.
%(format tanggal)T
A %(format tanggal)T format dapat digunakan untuk memperlakukan argumen sebagai tanggal/waktu
string dan untuk memformat tanggal/waktu sesuai dengan format tanggal seperti yang didefinisikan
untuk tanggal(1) perintah.
%Z A %Z format akan menampilkan byte yang nilainya 0.
%d Bidang presisi dari %d format dapat diikuti oleh . dan keluaran
basis. Dalam hal ini, # penyebab karakter bendera mendasarkan# untuk didahulukan.
# The # bendera, bila digunakan dengan %d format tanpa basis keluaran, menampilkan
keluaran dalam pangkat 1000 yang ditunjukkan oleh salah satu sufiks berikut: k M
G T P E, dan bila digunakan dengan %i format menampilkan output dalam kekuatan
1024 ditunjukkan oleh salah satu sufiks berikut: Ki Mi Gi Ti Pi Ei.
= The = flag memusatkan output dalam lebar bidang yang ditentukan.
L The L bendera, bila digunakan dengan %c or %s format, memperlakukan presisi sebagai
lebar karakter alih-alih jumlah byte.
, The , bendera, bila digunakan dengan %d or %f format, memisahkan kelompok digit
dengan pembatas pengelompokan (, pada kelompok 3 di lokal C.)

pwd [ -LP ]
Menampilkan nilai direktori kerja saat ini. Itu -L pilihan adalah default;
itu mencetak nama logis dari direktori saat ini. jika -P pilihan diberikan,
semua tautan simbolik diselesaikan dari nama. Contoh terakhir dari -L or -P on
baris perintah menentukan metode mana yang digunakan.

Baca baca [ -ACSprsv ] [ -d batasi] [ -n n] [ [ -N n] [ [ -t batas waktu] [ -u satuan] [ nama v?cepat
] [ nama v ... ]
Mekanisme masukan cangkang. Satu baris dibaca dan dipecah menjadi beberapa bidang menggunakan
karakter dalam IFS sebagai pemisah. Karakter pelarian, \, digunakan untuk menghapus
arti khusus untuk karakter berikutnya dan untuk kelanjutan baris. Itu -d Option
menyebabkan pembacaan berlanjut ke karakter pertama batasi daripada baris baru.
The -n pilihan penyebab paling banyak n byte untuk membaca lebih dari satu baris tetapi akan kembali
saat membaca dari perangkat yang lambat segera setelah karakter apa pun telah dibaca. Itu -N
pilihan menyebabkan persis n untuk dibaca kecuali end-of-file telah ditemukan atau
waktu baca habis karena -t pilihan. Dalam mode mentah, -R, itu \ karakter adalah
tidak diperlakukan secara khusus. Bidang pertama ditugaskan ke yang pertama nama v, kedua
lapangan ke yang kedua nama v, dll., dengan bidang sisa yang ditetapkan ke yang terakhir nama v.
Ketika nama v memiliki atribut biner dan -n or -N ditentukan, byte yang
read disimpan langsung ke dalam variabel. jika -v ditentukan, maka nilai
yang pertama nama v akan digunakan sebagai nilai default saat membaca dari terminal
alat. Itu -A opsi menyebabkan variabel nama v menjadi tidak disetel dan setiap bidang itu
dibaca untuk disimpan dalam elemen berurutan dari array yang diindeks nama v The -C Option
menyebabkan variabel nama v untuk dibaca sebagai variabel majemuk. Kosong akan menjadi
diabaikan ketika menemukan awal kurung buka. Opsi -S menyebabkan garis
untuk diperlakukan seperti catatan di a . CSV format file sehingga tanda kutip ganda dapat digunakan
untuk memungkinkan karakter pembatas dan karakter baris baru muncul di dalam a
bidang. Itu -p opsi menyebabkan saluran input diambil dari pipa input a
proses yang dihasilkan oleh cangkang menggunakan &. Jika -s opsi hadir, input akan
disimpan sebagai perintah dalam file riwayat. Pilihan -u dapat digunakan untuk menentukan
unit deskriptor file satu digit satuan untuk membaca dari. Deskriptor file dapat berupa
dibuka dengan eksekutif perintah bawaan khusus. Nilai default dari unit n adalah 0.
Pilihan -t digunakan untuk menentukan batas waktu dalam hitungan detik saat membaca dari terminal
atau pipa. Jika nama v dihilangkan, maka BALASAN digunakan sebagai default nama v. Sebuah akhir-
file dengan -p opsi menyebabkan pembersihan untuk proses ini sehingga yang lain dapat
melahirkan. Jika argumen pertama mengandung ?, sisa kata ini digunakan sebagai
a cepat pada kesalahan standar ketika Shell interaktif. Status keluar adalah 0
kecuali end-of-file ditemukan atau Baca baca telah habis waktunya.

†† dibaca saja [ -p ] [ nama v[=nilai] ] ...
If nama v tidak diberikan, nama dan nilai setiap variabel dengan readonly
atribut dicetak dengan nilai-nilai yang dikutip dengan cara yang memungkinkan mereka untuk kembali
dimasukkan. Itu -p pilihan menyebabkan kata dibaca saja untuk dimasukkan sebelum masing-masing.
Jika tidak, yang diberikan nama vs ditandai hanya-baca dan nama-nama ini tidak dapat diubah
dengan penugasan selanjutnya. Saat mendefinisikan sebuah tipe, jika nilai dari sub-sub-readonly
variabel tidak ditentukan, nilai diperlukan saat membuat setiap instance.

kembali [ n ]
Menyebabkan cangkang fungsi or . skrip untuk kembali ke skrip pemanggilan dengan keluar
status yang ditentukan oleh n. Nilainya akan menjadi 8 bit paling tidak signifikan dari
status yang ditentukan. Jika n dihilangkan, maka status pengembaliannya adalah yang terakhir
perintah dieksekusi. Jika kembali dipanggil saat tidak dalam a fungsi atau . naskah,
maka berperilaku sama dengan keluar.

set [ ±BCGabefhkmnoprstuvx ] [ ±0 [ Option ] ] ... [ ±Sebuah nama v ] [ arg ... ]
Opsi untuk perintah ini memiliki arti sebagai berikut:
-A Tugas array. Hapus variabel nama v dan tetapkan nilai secara berurutan
dari arg Daftar. Jika +A digunakan, variabel nama v tidak disetel terlebih dahulu.
-B Aktifkan pembuatan bidang pola penjepit. Ini adalah perilaku default.
-B Aktifkan ekspansi grup penjepit. Aktif secara default.
-C Mencegah pengalihan > dari memotong file yang ada. File yang
dibuat dibuka dengan mode O_EXCL. Memerlukan >⎪ untuk memotong file
ketika dihidupkan.
-G Penyebab pola ∗∗ dengan sendirinya untuk mencocokkan file dan nol atau lebih direktori
dan sub-direktori ketika digunakan untuk pembuatan nama file. Jika diikuti oleh /
hanya direktori dan sub-direktori yang cocok.
-a Semua variabel berikutnya yang ditentukan secara otomatis diekspor.
-b Mencetak pesan penyelesaian pekerjaan segera setelah pekerjaan latar belakang berubah status
daripada menunggu prompt berikutnya.
-e Kecuali terkandung dalam ⎪⎪. or && perintah, atau perintah yang mengikuti an if
sementara or sampai perintah atau dalam pipa berikut !, jika sebuah perintah memiliki
status keluar bukan nol, jalankan ERR perangkap, jika diatur, dan keluar. Modus ini adalah
dinonaktifkan saat membaca profil.
-f Menonaktifkan pembuatan nama file.
-h Setiap perintah menjadi alias terlacak saat pertama kali ditemui.
-k (Usang). Semua argumen penugasan variabel ditempatkan di lingkungan
untuk sebuah perintah, bukan hanya yang mendahului nama perintah.
-m Pekerjaan latar belakang akan berjalan dalam grup proses terpisah dan sebuah baris akan dicetak
setelah selesai. Status keluar dari pekerjaan latar belakang dilaporkan dalam a
pesan penyelesaian. Pada sistem dengan kontrol pekerjaan, opsi ini diaktifkan
otomatis untuk shell interaktif.
-n Baca perintah dan periksa kesalahan sintaks, tetapi jangan jalankan.
Diabaikan untuk shell interaktif.
-o Argumen berikut dapat berupa salah satu dari nama opsi berikut:
semua ekspor
Sama dengan -a.
salah Sama dengan -e.
bagus Semua pekerjaan latar belakang dijalankan dengan prioritas lebih rendah. Ini adalah
modus bawaan.
braceexpand
Sama dengan -B.
emacs Menempatkan Anda dalam emacs gaya editor in-line untuk entri perintah.
bintang besar
Sama dengan -G.
gmac Menempatkan Anda di gmac gaya editor in-line untuk entri perintah.
mengabaikan
Shell tidak akan keluar di akhir file. Perintah keluar harus
bekas.
kata kunci Sama dengan -k.
letoktal
The membiarkan perintah memungkinkan konstanta oktal dimulai dengan 0.
markdir
Semua nama direktori yang dihasilkan dari pembuatan nama file memiliki a
tertinggal / ditambahkan.
Monitor Sama dengan -m.
multiline
Editor bawaan akan menggunakan beberapa baris di layar untuk
garis yang lebih panjang dari lebar layar. Ini mungkin tidak
bekerja untuk semua terminal.
noclobber
Sama dengan -C.
noexec Sama dengan -n.
noglob Sama dengan -f.
nolog Jangan simpan definisi fungsi dalam file riwayat.
memberitahukan Sama dengan -b.
kata benda Sama dengan -u.
kegagalan pipa
Sebuah pipa tidak akan selesai sampai semua komponen pipa
telah selesai, dan nilai pengembalian akan menjadi nilai yang terakhir
perintah bukan nol untuk gagal atau nol jika tidak ada perintah yang gagal.
perlihatkan pada saya Saat diaktifkan, perintah sederhana atau jalur pipa didahului oleh titik koma
(;) akan ditampilkan seolah-olah jejak x opsi diaktifkan tetapi akan
tidak dieksekusi. Jika tidak, yang terkemuka ; akan diabaikan.
istimewa
Sama dengan -p.
bertele-tele Sama dengan -v.
trackall
Sama dengan -h.
vi Menempatkan Anda dalam mode penyisipan a vi gaya editor sebaris hingga Anda menekan
karakter pelarian 033. Ini menempatkan Anda dalam mode kontrol. Kembali
mengirimkan garis.
virus Setiap karakter diproses saat diketik vi mode.
jejak x Sama dengan -x.
Jika tidak ada nama opsi yang diberikan, maka pengaturan opsi saat ini adalah
dicetak.
-p Menonaktifkan pemrosesan $ HOME / .profile file dan menggunakan file
/etc/suid_profile bukannya ENV mengajukan. Mode ini aktif setiap kali
uid efektif (gid) tidak sama dengan uid nyata (gid). Mematikan ini
menyebabkan uid dan gid efektif diatur ke uid dan gid yang sebenarnya.
-r Mengaktifkan shell yang dibatasi. Opsi ini tidak dapat disetel setelah disetel.
-s Urutkan parameter posisi secara leksikografis.
-t (Usang). Keluar setelah membaca dan menjalankan satu perintah.
-u Perlakukan parameter yang tidak disetel sebagai kesalahan saat mengganti.
-v Cetak baris input shell saat dibaca.
-x Perintah cetak dan argumennya saat dieksekusi.
-- Jangan ubah opsi apa pun; berguna dalam pengaturan $1 ke nilai awal
dengan -. Jika tidak ada argumen yang mengikuti opsi ini maka parameter posisi
tidak disetel.

Sebagai fitur usang, jika yang pertama arg is - maka -x dan -v pilihan diputar
mati dan selanjutnya arg diperlakukan sebagai argumen pertama. Menggunakan + daripada -
menyebabkan opsi ini dimatikan. Opsi ini juga dapat digunakan pada
panggilan shell. Kumpulan opsi saat ini dapat ditemukan di $-. Kecuali kalau -A
ditentukan, argumen yang tersisa adalah parameter posisi dan ditetapkan,
untuk $1 $2 .... Jika tidak ada argumen yang diberikan, maka nama dan nilai dari
semua variabel dicetak pada output standar.

bergeser [ n ]
Parameter posisi dari $n+1 ... diganti namanya $1 ... , bawaan n adalah 1. The
parameter n dapat berupa ekspresi aritmatika apa pun yang mengevaluasi ke non-negatif
bilangan kurang dari atau sama dengan $#.

tidur detik
Menangguhkan eksekusi untuk jumlah detik desimal atau pecahan detik yang diberikan
by detik.

perangkap [ -p ] [ tindakan ] [ sig ] ...
The -p opsi menyebabkan aksi jebakan yang terkait dengan setiap jebakan seperti yang ditentukan oleh
argumen untuk dicetak dengan kutipan yang sesuai. Jika tidak, tindakan akan
diproses seolah-olah itu adalah argumen untuk evaluasi ketika shell menerima sinyal sig.
Masing-masing sig dapat diberikan sebagai nomor atau sebagai nama sinyal. Perintah perangkap adalah
dieksekusi dalam urutan nomor sinyal. Setiap upaya untuk memasang jebakan pada sinyal yang
diabaikan saat masuk ke shell saat ini tidak efektif. Jika tindakan dihilangkan dan
pertama sig adalah bilangan, atau jika tindakan is -, maka jebakan untuk masing-masing sig disetel ulang
dengan nilai-nilai aslinya. Jika tindakan adalah string nol maka sinyal ini diabaikan
oleh shell dan dengan perintah yang dipanggilnya. Jika sig is ERR kemudian tindakan akan
dieksekusi setiap kali perintah memiliki status keluar bukan nol. Jika sig is DEBUG kemudian
tindakan akan dieksekusi sebelum setiap perintah. variabel .sh.perintah akan berisi
isi dari baris perintah saat ini ketika tindakan sedang berlari. Jika pintu keluar
status jebakan adalah 2 perintah tidak akan dijalankan. Jika status keluar dari
perangkapnya adalah 255 dan di dalam fungsi atau skrip titik, fungsi atau skrip titik
akan kembali. Jika sig is 0 or EXIT dan perangkap pernyataan dieksekusi di dalam
tubuh fungsi yang didefinisikan dengan fungsi nama sintaks, lalu perintah tindakan
dijalankan setelah fungsi selesai. Jika sig is 0 or EXIT untuk perangkap set
di luar fungsi apa pun maka perintah tindakan dieksekusi saat keluar dari shell.
If sig is KEYBD, kemudian tindakan akan dieksekusi setiap kali kunci dibaca saat di
emacs, gmac, atau vi mode. Itu perangkap perintah tanpa argumen mencetak daftar
perintah yang terkait dengan setiap nomor sinyal.

An keluar or kembali tanpa argumen dalam tindakan jebakan akan mempertahankan status keluar dari
perintah yang memanggil jebakan.

benar Tidak melakukan apa-apa, dan keluar 0. Digunakan dengan sementara untuk loop tak terbatas.

†† mengeset [ ±ACHSfblmnprtux ] [ ±EFLRXZi[n] ] [ +-M [ nama peta ] ] [ -T [
nama=(daftar_tugas) ] ] [ -h str ] [ -a [mengetik] ] [ nama v[=nilai ] ] ...
Menetapkan atribut dan nilai untuk variabel dan fungsi shell. Saat dipanggil di dalam
fungsi yang didefinisikan dengan fungsi nama sintaks, contoh baru dari variabel
nama v dibuat, dan nilai serta tipe variabel dipulihkan saat fungsi
selesai. Daftar atribut berikut dapat ditentukan:
-A Nyatakan nama v menjadi array asosiatif. Subskrip lebih berupa string
daripada ekspresi aritmatika.
-C menyebabkan masing-masing nama v menjadi variabel majemuk. nilai menamakan senyawa
variabel itu disalin ke dalam nama v. Jika tidak, itu akan membatalkan pengaturan masing-masing nama v.
-a Nyatakan nama v menjadi array yang diindeks. Jika mengetik ditentukan, itu harus menjadi
nama tipe enumerasi yang dibuat dengan enum perintah dan itu memungkinkan
konstanta pencacahan untuk digunakan sebagai subskrip.
-E Nyatakan nama v menjadi nomor floating point presisi ganda. Jika n adalah non-
nol, itu mendefinisikan jumlah angka penting yang digunakan ketika
memperluas nama v. Jika tidak, sepuluh angka penting akan digunakan.
-F Nyatakan nama v menjadi nomor floating point presisi ganda. Jika n adalah non-
nol, ini mendefinisikan jumlah tempat setelah titik desimal yang digunakan
saat mengembang nama v. Jika tidak, sepuluh tempat setelah titik desimal adalah
bekas.
-H Opsi ini menyediakan pemetaan file UNIX ke nama host pada mesin non-UNIX.
-L Ratakan kiri dan hapus bagian yang kosong dari nilai. Jika n bukan nol, itu
mendefinisikan lebar bidang, jika tidak ditentukan oleh lebar
nilai tugas pertama. Ketika variabel ditugaskan, itu adalah
diisi di sebelah kanan dengan kosong atau dipotong, jika perlu, agar sesuai dengan
bidang. Itu -R opsi dimatikan.
-M Gunakan pemetaan karakter pemetaan didefinisikan oleh wctrans(3). seperti lebih rendah
dan puncak saat menetapkan nilai ke masing-masing operan yang ditentukan. Kapan
pemetaan ditentukan dan tidak ada operan, semua variabel yang menggunakan ini
pemetaan ditulis ke output standar. Kapan pemetaan dihilangkan dan ada
tidak ada operan, semua variabel yang dipetakan ditulis ke output standar.
-R Ratakan kanan dan isi dengan bagian kosong di depan. Jika n bukan nol, itu mendefinisikan
lebar bidang, jika tidak ditentukan oleh lebar nilainya
dari tugas pertama. Bidang dibiarkan kosong atau terpotong dari
akhir jika variabel ditugaskan kembali. Itu -L opsi dimatikan.
-S Ketika digunakan dalam daftar_tugas dari definisi tipe, itu menyebabkan
sub-variabel yang ditentukan untuk dibagikan oleh semua instance dari tipe tersebut. Saat digunakan
di dalam fungsi yang didefinisikan dengan fungsi kata yang dicadangkan, yang ditentukan
variabel akan memiliki fungsi statis cakupan. Jika tidak, variabel tidak disetel
sebelum memproses daftar tugas.
-T Jika diikuti oleh nama, itu menciptakan tipe bernama oleh nama menggunakan senyawa
tugas daftar_tugas untuk nama. Jika tidak, ia menulis semua jenis
definisi untuk keluaran standar.
-X Nyatakan nama v menjadi nomor floating point presisi ganda dan mengembang
menggunakan %a format ISO-C99. Jika n bukan nol, itu mendefinisikan jumlah
digit heksadesimal setelah titik radix yang digunakan saat mengembang nama v. itu
defaultnya adalah 10.
-Z Ratakan kanan dan isi dengan nol di depan jika karakter pertama tidak kosong
adalah angka dan -L opsi belum ditetapkan. Hapus nol di depan jika
-L pilihan juga diatur. Jika n bukan nol, ini mendefinisikan lebar bidang,
selain itu ditentukan oleh lebar nilai penugasan pertama.
-f Nama-nama merujuk ke nama fungsi daripada nama variabel. Tidak
tugas dapat dibuat dan satu-satunya pilihan valid lainnya adalah -S, -t, -u dan
-x. -S dapat digunakan dengan fungsi disiplin yang didefinisikan dalam tipe untuk
menunjukkan bahwa fungsi tersebut statis. Untuk fungsi statis, sama
metode akan digunakan oleh semua instance jenis itu tidak peduli instance mana
referensi itu. Selain itu, hanya dapat menggunakan nilai variabel dari
definisi tipe asli. Fungsi disiplin ini tidak dapat didefinisikan ulang dalam
setiap jenis contoh. Itu -t opsi mengaktifkan pelacakan eksekusi untuk ini
fungsi. Itu -u opsi menyebabkan fungsi ini ditandai tidak terdefinisi. Itu
FPATH variabel akan dicari untuk menemukan definisi fungsi ketika
fungsi dirujuk. Jika tidak ada pilihan selain -f ditentukan, maka
definisi fungsi akan ditampilkan pada output standar. Jika +f is
ditentukan, maka baris yang berisi nama fungsi diikuti oleh shell
komentar yang berisi nomor baris dan nama jalur file tempat ini
fungsi didefinisikan, jika ada, ditampilkan. Status keluar dapat digunakan untuk
tentukan apakah fungsi terdefinisi sehingga mengeset -f .sh.math.nama
akan mengembalikan 0 saat fungsi matematika nama didefinisikan dan bukan nol sebaliknya.
-b Variabel dapat menampung sejumlah byte data. Data dapat berupa teks atau
biner. Nilai diwakili oleh pengkodean base64 data. Jika -Z
juga ditentukan, ukuran dalam byte data dalam buffer akan menjadi
ditentukan oleh ukuran yang terkait dengan -Z. Jika string base64
hasil yang ditetapkan dalam lebih banyak data, itu akan dipotong. Kalau tidak, itu akan menjadi
diisi dengan byte yang nilainya nol. Itu Printf format %B dapat digunakan untuk
keluaran data aktual dalam buffer ini alih-alih pengkodean base64 dari
Data.
-h Digunakan dalam definisi tipe untuk menambahkan informasi saat menghasilkan informasi
tentang sub-variabel pada halaman manual. Itu diabaikan ketika digunakan di luar
definisi tipe. Saat digunakan dengan -f informasi terkait dengan
fungsi disiplin yang sesuai.
-i Nyatakan nama v untuk direpresentasikan secara internal sebagai bilangan bulat. Sisi kanan
tugas dievaluasi sebagai ekspresi aritmatika saat menetapkan ke
sebuah bilangan bulat. Jika n bukan nol, ini mendefinisikan basis aritmatika keluaran,
jika tidak, basis keluaran akan menjadi sepuluh.
-l Digunakan dengan -i, -E or -F, untuk menunjukkan bilangan bulat panjang, atau float panjang. Jika tidak,
semua karakter huruf besar diubah menjadi huruf kecil. Huruf besar
pilihan, -u, dimatikan. Setara dengan -M lebih rendah .
-m memindahkan atau mengganti nama variabel. Nilai adalah nama variabel yang
nilai akan dipindahkan ke nama v. Variabel asli tidak akan disetel. Tidak bisa
digunakan dengan opsi lain.
-n Nyatakan nama v menjadi referensi ke variabel yang namanya didefinisikan oleh
nilai variabel nama v. Ini biasanya digunakan untuk referensi variabel
di dalam fungsi yang namanya telah diteruskan sebagai argumen. Tidak dapat digunakan
dengan pilihan lain.
-p Nama, atribut, dan nilai untuk yang diberikan nama vs ditulis pada standar
output dalam bentuk yang dapat digunakan sebagai input shell. Jika +p ditentukan, maka
nilai tidak ditampilkan.
-r Pemberian nama vs ditandai hanya-baca dan nama-nama ini tidak dapat diubah dengan
penugasan selanjutnya.
-t Tag variabelnya. Tag dapat ditentukan oleh pengguna dan tidak memiliki arti khusus untuk
kerang.
-u Ketika diberikan bersama -i, menentukan bilangan bulat yang tidak ditandatangani. Jika tidak, semua lebih rendah-
karakter huruf besar diubah menjadi huruf besar. Opsi huruf kecil, -l, Apakah
matikan. Setara dengan -M puncak .
-x Pemberian nama vs ditandai untuk ekspor otomatis ke lingkungan Hidup of
perintah yang dijalankan selanjutnya. Variabel yang namanya mengandung a . tidak bisa
diekspor.

The -i atribut tidak dapat ditentukan bersama dengan -R, -L, -Z, atau -f.

Menggunakan + daripada - menyebabkan opsi ini dimatikan. Jika tidak nama v argumen
diberikan, daftar nama v (dan opsional nilai-nilai) dari variabel is
dicetak. (Menggunakan + daripada - menjaga nilai agar tidak dicetak.) The -p
pilihan penyebab mengeset diikuti dengan huruf pilihan yang akan dicetak sebelum setiap nama
daripada nama opsi. Jika ada pilihan selain -p diberikan, hanya
variabel-variabel yang memiliki semua opsi yang diberikan akan dicetak. Jika tidak,
nama vs dan atribut dari semua variabel yang memiliki atribut dicetak.

batas [ -HSacdfmnpstv ] [ membatasi ]
Tetapkan atau tampilkan batas sumber daya. Batas sumber daya yang tersedia tercantum di bawah ini.
Banyak sistem tidak mendukung satu atau lebih dari batasan ini. Batas untuk yang ditentukan
sumber daya diatur ketika membatasi ditentukan. Nilai dari membatasi bisa berupa angka di
unit yang ditentukan di bawah ini dengan setiap sumber daya, atau nilainya tak terbatas. itu -H dan -S
opsi menentukan apakah batas keras atau batas lunak untuk sumber daya yang diberikan adalah
mengatur. Batas keras tidak dapat ditingkatkan setelah ditetapkan. Batas lunak dapat berupa
meningkat sampai nilai batas keras. Jika keduanya tidak H maupun S pilihannya adalah
ditentukan, batas berlaku untuk keduanya. Batas sumber daya saat ini dicetak ketika
membatasi dihilangkan. Dalam hal ini, batas lunak dicetak kecuali H ditentukan.
Ketika lebih dari satu sumber daya ditentukan, maka nama batas dan unit dicetak
sebelum nilai.
-a Daftar semua batas sumber daya saat ini.
-c Jumlah blok 512-byte pada ukuran core dumps.
-d Jumlah K-byte pada ukuran area data.
-f Jumlah blok 512-byte pada file yang dapat ditulis oleh arus
proses atau oleh proses anak (file dengan ukuran berapa pun dapat dibaca).
-m Jumlah K-byte pada ukuran memori fisik.
-n Jumlah deskriptor file ditambah 1.
-p Jumlah blok 512-byte untuk buffering pipa.
-s Jumlah K-byte pada ukuran area stack.
-t Jumlah detik CPU yang akan digunakan oleh setiap proses.
-v Jumlah K-byte untuk memori virtual.

Jika tidak ada pilihan yang diberikan, -f diasumsikan.

umask [ -S ] [ masker ]
Masker pembuatan file pengguna diatur ke masker (Lihat umask(2)). masker bisa jadi
bilangan oktal atau nilai simbolis seperti yang dijelaskan dalam chmod(1). Jika nilai simbolis adalah
diberikan, nilai umask baru adalah pelengkap dari hasil penerapan masker ke
komplemen dari nilai umask sebelumnya. Jika masker dihilangkan, nilai saat ini dari
topeng dicetak. Itu -S opsi menyebabkan mode dicetak sebagai simbolis
nilai. Jika tidak, topeng dicetak dalam oktal.

Unalias [ -a ] nama ...
Alias ​​​​yang diberikan oleh daftar namas dihapus dari daftar alias. Itu -a
opsi menyebabkan semua alias tidak disetel.

tidak disetel [ -fnv ] nama v ...
Variabel yang diberikan oleh daftar nama vs tidak ditetapkan, yaitu, kecuali untuk sub-
variabel dalam suatu tipe, nilai dan atributnya dihapus. Untuk sub-variabel
dari suatu tipe, nilainya diatur ulang ke nilai default dari definisi tipe.
Variabel readonly tidak dapat disetel. jika -f opsi diatur, lalu nama merujuk
untuk fungsi nama. jika -v opsi diatur, maka nama merujuk ke variabel
nama. NS -f penggantian opsi -v. Jika -n diatur dan nama adalah referensi nama,
kemudian nama akan tidak disetel daripada variabel yang dirujuknya. Standarnya
adalah setara dengan -v. Tidak disetel LINENO, CEK EMAIL, MEMILIH, MEMILIH, ACAK, DETIK,
TM KELUAR, dan _ menghilangkan arti khusus mereka bahkan jika mereka kemudian ditugaskan
untuk.

menunggu [ pekerjaan ... ]
Tunggu yang ditentukan pekerjaan dan melaporkan status penghentiannya. Jika pekerjaan tidak diberikan,
maka semua proses anak yang sedang aktif ditunggu. Status keluar dari
perintah ini adalah proses terakhir yang menunggu jika pekerjaan ditentukan; jika tidak
itu adalah nol. Melihat Jobs untuk penjelasan format pekerjaan.

dari mana [ -afpv ] nama ...
Untuk setiap nama, menunjukkan bagaimana itu akan ditafsirkan jika digunakan sebagai nama perintah.
The -v opsi menghasilkan laporan yang lebih bertele-tele. Itu -f opsi melewatkan pencarian untuk
fungsi. Itu -p opsi melakukan pencarian jalur untuk nama bahkan jika nama adalah alias, a
fungsi, atau kata khusus. Itu -p opsi mematikan -v pilihan. Itu -a
opsi mirip dengan -v opsi tetapi menyebabkan semua interpretasi dari nama yang diberikan
untuk dilaporkan.

Doa.
Jika shell dipanggil oleh eksekutif(2), dan karakter pertama argumen nol ($0) aku s -,
maka kulitnya diasumsikan sebagai masuk shell dan perintah dibaca dari / etc / profile dan
lalu dari keduanya .Profil di direktori saat ini atau $ HOME / .profile, jika salah satu file
ada. Selanjutnya, untuk shell interaktif, perintah dibaca dari file bernama dengan melakukan
ekspansi parameter, substitusi perintah, dan substitusi aritmatika pada nilai
variabel lingkungan ENV jika filenya ada. jika -s opsi tidak ada dan arg dan
sebuah file dengan nama arg ada, maka ia membaca dan menjalankan skrip ini. Jika tidak, jika
yang pertama arg tidak mengandung /, pencarian jalur dilakukan pada yang pertama arg untuk
tentukan nama skrip yang akan dieksekusi. Naskah arg harus memiliki izin eksekusi
dan apa saja setuid dan setgid pengaturan akan diabaikan. Jika skrip tidak ditemukan di
jalan, arg diproses seolah-olah diberi nama perintah atau fungsi bawaan. Perintah kemudian
baca seperti yang dijelaskan di bawah ini; opsi berikut ditafsirkan oleh shell ketika itu:
dipanggil:

-D Jangan jalankan skrip, tetapi keluarkan set string yang dikutip ganda yang didahului oleh
a $. String ini diperlukan untuk pelokalan skrip ke yang berbeda
lokal
-E Membaca file yang diberi nama oleh ENV variabel atau dengan $HOME/.kshrc jika tidak ditentukan setelahnya
profil.
-c Jika -c opsi hadir, maka perintah dibaca dari yang pertama arg. Apa saja
argumen yang tersisa menjadi parameter posisi mulai dari 0.
-s Jika -s opsi hadir atau jika tidak ada argumen yang tersisa, maka perintah dibaca
dari masukan standar. Output shell, kecuali untuk output dari Khusus
Perintah tercantum di atas, ditulis ke file deskriptor 2.
-i Jika -i opsi ada atau jika input dan output shell dilampirkan ke a
terminal (seperti yang diceritakan oleh tcgetattr(2)), maka cangkang ini adalah interaktif. Dalam
kasus TERM diabaikan (sehingga membunuh 0 tidak membunuh shell interaktif) dan
INTR ditangkap dan diabaikan (sehingga menunggu adalah ). Dalam semua kasus, QUIT diabaikan oleh
kerang.
-r Jika -r opsi hadir, shell adalah shell terbatas.
-D Daftar semua string yang dikutip ganda yang didahului oleh a $ akan dicetak pada
keluaran standar dan shell akan keluar. Kumpulan senar ini akan tunduk pada
terjemahan bahasa ketika lokalnya bukan C atau POSIX. Tidak akan ada perintah
dieksekusi.
-R nama file
The -R nama file opsi digunakan untuk menghasilkan database referensi silang yang dapat
digunakan oleh utilitas terpisah untuk menemukan definisi dan referensi untuk variabel
dan perintah.
Opsi dan argumen yang tersisa dijelaskan di bawah set perintah di atas. Sebuah
opsional - sebagai argumen pertama diabaikan.
Rksh Hanya.
Rksh digunakan untuk mengatur nama login dan lingkungan eksekusi yang kemampuannya lebih
dikendalikan daripada shell standar. Tindakan dari rksh identik dengan itu
of ksh, kecuali yang berikut ini tidak diizinkan:
Menghapus pengaturan opsi terbatas.
mengubah direktori (lihat cd(1)),
mengatur atau menghapus nilai atau atribut dari SHELL, ENV, FPATH, atau JALUR,
menentukan jalur atau nama perintah yang mengandung /,
mengarahkan keluaran (>, >|, <>, dan >>).
menambah atau menghapus perintah bawaan.
menggunakan Command -p untuk memanggil perintah.

Pembatasan di atas diberlakukan setelah .Profil dan ENV file ditafsirkan.

Ketika perintah yang akan dieksekusi ditemukan sebagai prosedur shell, rksh memanggil ksh untuk
mengeksekusinya. Dengan demikian, dimungkinkan untuk menyediakan prosedur shell pengguna akhir yang memiliki
akses ke kekuatan penuh dari shell standar, sambil memaksakan menu perintah terbatas;
skema ini mengasumsikan bahwa pengguna akhir tidak memiliki izin menulis dan mengeksekusi di
direktori yang sama.

Efek bersih dari aturan ini adalah bahwa penulis .Profil memiliki kendali penuh atas
tindakan pengguna, dengan melakukan tindakan penyiapan yang dijamin dan membiarkan pengguna dalam
direktori yang sesuai (mungkin tidak direktori login).

Administrator sistem sering membuat direktori perintah (misalnya, /usr/rbin) yang dapat
dipanggil dengan aman oleh rksh.

EXIT STATUS


Kesalahan yang dideteksi oleh shell, seperti kesalahan sintaks, menyebabkan shell mengembalikan nilai bukan nol
status keluar. Jika shell digunakan secara non-interaktif, maka eksekusi shell
file ditinggalkan kecuali kesalahan terjadi di dalam subkulit dalam hal ini subkulit adalah
ditinggalkan. Jika tidak, shell mengembalikan status keluar dari perintah terakhir yang dieksekusi (lihat
juga keluar perintah di atas). Kesalahan waktu berjalan yang terdeteksi oleh shell dilaporkan oleh
mencetak nama perintah atau fungsi dan kondisi kesalahan. Jika nomor baris itu
kesalahan terjadi lebih besar dari satu, maka nomor baris juga dicetak persegi
tanda kurung ([]) setelah nama perintah atau fungsi.

Gunakan ksh93 online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad




×
iklan
❤️Berbelanja, pesan, atau beli di sini — tanpa biaya, membantu menjaga layanan tetap gratis.