Abu - Linux Command - Unix Command

NAME

sh - jurubahasa perintah ( shell )

SINOPSIS

sh [- / + aCefnuvxIimqsVEbc ] [- o longname ] -words [ target ... ]

DESKRIPSI

Sh adalah jurubahasa standard untuk sistem. Versi semasa sh sedang dalam proses diubah untuk mematuhi spesifikasi POSIX 1003.2 dan 1003.2a untuk shell. Versi ini mempunyai banyak ciri yang menjadikannya kelihatan sama dalam beberapa aspek terhadap shell Korn, tetapi ia bukan klon kulit Korn (lihat ksh (1)). Hanya ciri yang ditetapkan oleh POSIX ditambah dengan beberapa sambungan Berkeley, dimasukkan ke dalam shell ini. Kami menjangkakan kesesuaian POSIX pada masa 4.4 BSD dilepaskan. Halaman lelaki ini tidak dimaksudkan untuk menjadi tutorial atau spesifikasi lengkap shell.

Gambaran keseluruhan

Cangkangnya adalah arahan yang membaca garis dari salah satu fail atau terminal, menafsirkannya, dan pada umumnya melaksanakan perintah lain. Ia adalah program yang berjalan apabila pengguna log masuk ke dalam sistem (walaupun pengguna boleh memilih shell yang berbeza dengan perintah chsh (1)). Shell melaksanakan bahasa yang mempunyai kawalan aliran, sebuah kemudahan makro yang menyediakan pelbagai ciri sebagai tambahan kepada penyimpanan data, bersama-sama dengan keupayaan penyuntingan dalam sejarah dan terbina dalam. Ia menggabungkan banyak ciri untuk membantu penggunaan interaktif dan mempunyai kelebihan bahawa bahasa penafsiran adalah umum untuk penggunaan interaktif dan tidak interaktif (skrip shell). Iaitu, arahan boleh diketik terus ke shell yang berjalan atau boleh dimasukkan ke dalam fail dan fail boleh dijalankan secara langsung oleh shell.

Penyerahan

Jika tidak ada argumen dan jika input standard shell disambungkan ke terminal (atau jika bendera - i ditetapkan), dan pilihan - c tidak ada, shell dianggap shell interaktif. Cakera interaktif biasanya diminta sebelum setiap arahan dan menangani ralat pengaturcaraan dan perintah secara berbeza (seperti diterangkan di bawah). Apabila permulaan pertama, shell memeriksa argumen 0, dan jika ia bermula dengan dash `- 'shell juga dianggap sebagai shell masuk. Ini biasanya dilakukan secara automatik oleh sistem apabila pengguna mula-mula log masuk. Shell login mula-mula membaca perintah dari fail / etc / profile dan .profil jika ada. Jika ENV pembolehubah persekitaran ditetapkan pada kemasukan ke shell, atau ditetapkan dalam .profile dari shell login, shell seterusnya membaca perintah dari fail bernama ENV Oleh itu, pengguna harus meletakkan perintah yang akan dijalankan hanya pada masa log masuk dalam fail .profile, dan arahan yang dilaksanakan untuk setiap shell di dalam fail ENV . Untuk menetapkan pemboleh ubah ENV ke beberapa fail, letakkan baris berikut dalam .profile direktori rumah anda

ENV = $ HOME / .shinit; eksport ENV

menggantikan `` .shinit '' sebarang nama fail yang anda mahukan. Oleh kerana fail ENV dibaca untuk setiap invois cangkang, termasuk skrip shell dan cengkerang tidak interaktif, paradigma berikut berguna untuk menyekat arahan dalam fail ENV untuk panggilan interaktif. Letakkan arahan di dalam `` kes '' dan `` esac '' di bawah (arahan ini diterangkan kemudian):

kes $ - dalam * i *)

# arahan untuk kegunaan interaktif sahaja

...

esac

Sekiranya hujah-hujah baris arahan selain pilihan telah ditentukan, maka shell merawat hujah pertama sebagai nama fail dari mana untuk membaca perintah (skrip shell), dan hujah yang selebihnya ditetapkan sebagai parameter positional shell ($ 1 , $ 2, dan lain-lain). Jika tidak, shell membaca perintah dari input standardnya.

Pemprosesan Senarai Argumen

Semua pilihan surat tunggal mempunyai nama yang sama yang boleh digunakan sebagai hujah kepada pilihan - o . Nama set - o disediakan di sebelah pilihan huruf tunggal dalam keterangan di bawah. Menentukan '`-' 'dash' yang menghidupkan pilihan, semasa menggunakan tambah` `+ '' melumpuhkan pilihan. Pilihan berikut boleh ditetapkan dari baris arahan atau dengan set (1) builtin (diterangkan kemudian).

-a allexport

Eksport semua pembolehubah yang diberikan kepada. (Tidak disokong untuk 4.4alpha)

-c

Baca arahan dari baris arahan. Tiada arahan akan dibaca dari input standard.

-C noclobber

Jangan menulis ganti fail sedia ada dengan ``> '' (UNIMPLEMENTED for 4.4alpha)

-e errexit

Sekiranya tidak interaktif, keluar dengan serta-merta sekiranya terdapat arahan yang tidak diuji gagal. Status exit arahan adalah dianggap eksplisit secara eksplisit jika arahan itu digunakan untuk mengendalikan sesuatu jika elif sedang atau sampai atau jika perintah itu adalah pengendali kiri operator `` && '' atau `` || '' operator.

-f noglob

Lumpuhkan pengembangan nama laluan .

-n noexec

Jika tidak interaktif, baca arahan tetapi jangan laksanakannya. Ini berguna untuk menyemak sintaks skrip shell.

-u nounset

Tulis mesej kepada ralat standard apabila cuba mengembangkan pembolehubah yang tidak ditetapkan, dan jika cengkerang tidak interaktif, keluar segera. (Tidak disokong untuk 4.4alpha)

-v verbose

Shell menulis inputnya kepada ralat standard kerana ia dibaca. Berguna untuk penyahpepijatan.

-x xtrace

Tulis setiap perintah untuk ralat standard (didahului oleh `+ 'sebelum ia dilaksanakan.) Berguna untuk penyahpepijatan.

-q quietprofile

Jika pilihan - v atau - x telah ditetapkan, jangan gunakannya semasa membaca fail permulaan, ini / etc / profile .profile dan fail yang ditentukan oleh pembolehubah persekitaran ENV .

-I mengabaikan

Abaikan EOF daripada input apabila interaktif.

-i interaktif

Angkatan shell untuk bertindak secara interaktif.

-m monitor

Hidupkan kawalan kerja (tetapkan secara automatik apabila interaktif).

-s stdin

Baca arahan daripada input standard (tetapkan secara automatik jika tiada hujah fail hadir). Pilihan ini tidak mempunyai kesan apabila ditetapkan selepas shell telah mula berjalan (iaitu dengan set (1)).

-V vi

Membolehkan editor baris arahan vi (1) terbina dalam (melumpuhkan - E jika ia telah ditetapkan).

-E emacs

Dayakan emacs (1) editor baris arahan (melumpuhkan - V jika telah ditetapkan).

-b maklumkan

Membolehkan pemberitahuan tak segerak penyiapan kerja latar belakang. (Tidak disokong untuk 4.4alpha)

Struktur Lexikal

Cakera itu membaca masukan dari segi baris dari fail dan memecahkannya kepada kata-kata di ruang kosong (kosong dan tab), dan pada urutan tertentu aksara yang khusus pada shell yang disebut `` operator '' Terdapat dua jenis operator: pengendali kawalan dan pengendali pengalihan (makna mereka dibincangkan kemudian). Berikut adalah senarai operator:

"Pengendali kawalan:"

& && (); ;; | ||

"Pengalihan pengalihan:"

<>> | << >> <&> & << - <>

Memetik

Kutipan digunakan untuk menghapus makna khas aksara atau kata-kata tertentu pada shell, seperti pengendali, ruang kosong, atau kata kunci. Terdapat tiga jenis petikan: sepadan dengan petikan tunggal, petikan berganda berganda, dan petikan semula.

Backslash

Backslash mengekalkan makna literal watak berikut, dengan pengecualian Aq newline. Backslash yang mendahului garis baru Aq dianggap sebagai sambungan berterusan.

Petikan Tunggal

Menutup aksara dalam petikan tunggal mengekalkan makna harfiah semua aksara (kecuali sebut harga tunggal, menjadikannya mustahil untuk meletakkan sebut harga tunggal dalam rentetan tunggal).

Petikan Double

Menutup aksara di dalam petikan berganda mengekalkan makna literal semua huruf kecuali dollarign ($) backquote (`) dan backslash (\) The backslash di dalam petikan berganda secara sejarah adalah pelik, dan berfungsi untuk memetik hanya aksara berikut:

$ `\

Jika tidak, ia tetap literal.

Kata-kata Tersimpan

Kata-kata yang diperuntukkan adalah kata-kata yang mempunyai makna khas untuk shell dan diiktiraf pada awal baris dan selepas pengendali kawalan. Berikut adalah perkataan reserved:

! Ta elif Ta fi Ta sementara Ta case

lain Ta untuk Ta kemudian Ta {Ta}

lakukan Ta Ta hingga Ta jika Ta esac

Makna mereka dibincangkan kemudian.

Aliases

Alias ​​ialah nama dan set nilai yang sesuai menggunakan alias (1) perintah terbina. Apabila suatu perkataan yang terpelihara mungkin berlaku (lihat di atas), dan selepas menyemak kata-kata tersimpan, shell menyemak perkataan untuk melihat apakah ia sepadan dengan alias. Jika ia berlaku, ia menggantikannya dalam aliran masukan dengan nilainya. Sebagai contoh, jika ada alias yang disebut `` lf '' dengan nilai `` ls -F '' maka input:

lf foobar

akan menjadi

ls -F foobar

Aliases menyediakan cara mudah bagi pengguna naif untuk membuat shorthands untuk arahan tanpa perlu belajar bagaimana membuat fungsi dengan hujah. Mereka juga boleh digunakan untuk membuat kod lexically kabur. Penggunaan ini tidak digalakkan.

Perintah

Cangkang menafsirkan kata-kata yang dibaca mengikut bahasa, spesifikasi yang berada di luar skop halaman lelaki ini (rujuk kepada BNF dalam dokumen POSIX 1003.2). Pada dasarnya, satu baris dibaca dan jika kata laluan pertama (atau selepas pengendali kawalan) bukan merupakan perkataan tersendiri, maka shell tersebut telah mengenali perintah yang mudah. Jika tidak, arahan rumit atau beberapa pembinaan istimewa lain mungkin telah diiktiraf.

Perintah mudah

Sekiranya arahan mudah telah dikenal pasti, shell melakukan tindakan berikut:

  1. Kata-kata utama dalam bentuk `` name = value '' dilucutkan dan ditugaskan kepada persekitaran arahan yang mudah. Pengendali pengalihan dan hujah-hujah mereka (seperti yang diterangkan di bawah) telah dilucutkan dan disimpan untuk diproses.
  2. Kata-kata yang selebihnya diperluas seperti yang diterangkan dalam seksyen yang dipanggil `` Expansions '' dan perkataan yang masih lagi dianggap sebagai nama perintah dan perintah itu terletak. Kata-kata yang tinggal dianggap sebagai argumen arahan. Sekiranya tiada nama arahan yang dihasilkan, maka tugasan pembolehubah `nama 'nilai' nilai 'diiktiraf dalam butiran 1 memberi kesan pada shell semasa.
  3. Redirect dilakukan seperti yang diterangkan dalam bahagian seterusnya.

Redirections

Redirections digunakan untuk menukar di mana arahan membaca inputnya atau menghantar outputnya. Secara umum, peralihan membuka, menutup, atau menduplikasi rujukan yang ada pada fail. Format keseluruhan yang digunakan untuk pengalihan adalah:

[n] fail redir-op

di mana redir-op adalah salah satu daripada operator pengalihan yang disebutkan sebelumnya. Berikut ialah senarai peralihan yang mungkin. Bq n adalah nombor pilihan, seperti dalam `3 '(bukan` Bq 3' yang merujuk kepada deskriptor fail.

[n]> fail

Redirect output standard (atau n) ke fail.

[n]> | fail

Sama, tetapi menimpa pilihan - C.

[n] >> fail

Tambah keluaran standard (atau n) ke fail.

[n]

Redirect input standard (atau n) dari fail.

[n1] <& n2

Input standard duplikat (atau n1) dari deskriptor fail n2.

[n] <& -

Tutup input standard (atau n).

[n1]> & n2

Output standard duplikat (atau n1) dari n2.

[n]> & -

Tutup output standard (atau n).

[n] <> fail

Buka fail untuk membaca dan menulis pada input standard (atau n).

Pengalihan berikut sering disebut "di sini-dokumen"

[n] << pemisah

di sini-doc-text ...

pembatas

Semua teks pada garisan berturut-turut sehingga pemisah akan disimpan dan disediakan kepada perintah pada input standard, atau deskriptor fail n jika dinyatakan. Sekiranya pemisah seperti yang dinyatakan pada baris permulaan dipetik, maka teks di sini dirawat secara harfiah, sebaliknya teks itu adalah tertakluk kepada pengembangan parameter, penggantian perintah, dan pengembangan aritmetik (seperti yang diterangkan dalam bahagian "Expansions"). 'Jika pengendali adalah `` << -' 'bukannya `` <<' 'maka tab utama dalam teks di sini-dokumen dilucutkan.

Search and Execution

Terdapat tiga jenis perintah: fungsi shell, perintah terbina, dan program biasa - dan perintah itu dicari (mengikut nama) dalam perintah itu. Mereka masing-masing dilaksanakan dengan cara yang berbeza.

Apabila fungsi shell dijalankan, semua parameter kedudukan shell (kecuali $ 0, yang tidak berubah) ditetapkan kepada argumen fungsi shell. Pembolehubah yang diletakkan secara jelas dalam persekitaran perintah (dengan meletakkan tugasan kepada mereka sebelum nama fungsi) dibuat setempat kepada fungsi dan ditetapkan kepada nilai-nilai yang diberikan. Kemudian arahan yang diberikan dalam definisi fungsi dilaksanakan. Parameter kedudukan dikembalikan kepada nilai asalnya apabila arahan selesai. Ini semua berlaku dalam shell semasa.

Binaan shell dilaksanakan secara dalaman ke dalam cangkang, tanpa mempelbagaikan proses baru.

Jika tidak, jika nama arahan tidak sepadan dengan fungsi atau builtin, perintah itu dicari sebagai program biasa dalam sistem fail (seperti yang diterangkan dalam bahagian seterusnya). Apabila program biasa dilaksanakan, shell menjalankan program, lulus hujah dan persekitaran ke program. Jika program itu bukan fail yang boleh dieksekusi secara normal (iaitu, jika ia tidak bermula dengan "nombor sihir" yang perwakilan ASCII adalah "#!", Maka melaksanakan (2) mengembalikan Er ENOEXEC kemudian) shell akan menafsirkan program dalam anak kecil. Cangkang kanak-kanak itu akan mengukuhkan semula dirinya dalam kes ini, supaya kesannya seolah-olah sebuah cengkerang baru telah digunakan untuk mengendalikan skrip shell ad hoc, kecuali bahawa lokasi perintah hashed yang terletak di shell ibu bapa akan diingati oleh kanak-kanak.

Ambil perhatian bahawa versi terdahulu dokumen ini dan kod sumbernya sendiri mengelirukan dan secara sporadikal merujuk kepada skrip shell tanpa nombor sihir sebagai "prosedur shell".

Carian Laluan

Apabila mencari arahan, shell mula-mula melihat jika ia mempunyai fungsi shell oleh nama itu. Kemudian ia mencari perintah terbina dengan nama itu. Sekiranya arahan terbina tidak dijumpai, satu daripada dua perkara berlaku:

  1. Nama-nama arahan yang mengandungi slash hanya dilakukan tanpa melakukan sebarang carian.
  2. Shell mencari setiap entri dalam PATH sebaliknya untuk arahan. Nilai pembolehubah PATH harus menjadi serangkaian penyertaan yang dipisahkan oleh titik. Setiap entri mengandungi nama direktori. Direktori semasa mungkin ditunjukkan secara tersirat oleh nama direktori kosong atau secara eksplisit oleh satu tempoh.

Status Keluar Perintah

Setiap arahan mempunyai status keluar yang boleh mempengaruhi tingkah laku perintah shell lain. Paradigma adalah bahawa arahan keluar dengan sifar untuk normal atau kejayaan, dan bukan sifar untuk kegagalan, kesilapan, atau tanda palsu. Halaman lelaki untuk setiap arahan harus menunjukkan pelbagai kod keluar dan apa yang mereka maksudkan. Di samping itu, perintah terbina kembali kod keluar, seperti juga fungsi shell yang dilaksanakan.

Perintah Kompleks

Perintah kompleks adalah gabungan perintah mudah dengan pengendali kawalan atau kata-kata tersimpan, bersama-sama mencipta perintah kompleks yang lebih besar. Secara umumnya, arahan adalah salah satu daripada berikut:

  • perintah mudah
  • talian paip
  • senarai atau senarai kompaun
  • kompaun kompaun
  • definisi fungsi

Kecuali dinyatakan sebaliknya, status keluar perintah adalah perintah mudah terakhir yang dilaksanakan oleh perintah.

Pipelines

Paip ialah urutan satu atau lebih perintah dipisahkan oleh pengendali kawalan |. Output standard semua tetapi arahan terakhir disambungkan kepada input standard perintah seterusnya. Output standard perintah terakhir diturunkan dari shell, seperti biasa.

Format untuk saluran paip ialah:

[!] command1 [| command2 ...]

Output standard command1 disambungkan ke input standard command2. Input standard, output standard, atau kedua-dua perintah dianggap ditugaskan oleh saluran paip sebelum sebarang pengalihan semula yang ditentukan oleh operator pengalihan yang merupakan sebahagian daripada arahan.

Jika saluran paip tidak berada di latar belakang (dibincangkan kemudian), shell menunggu semua arahan selesai.

Sekiranya perkataan reserved! tidak mendahului talian paip, status keluar adalah status keluar arahan terakhir yang dinyatakan dalam perancangan. Jika tidak, status keluar adalah TIDAK logik daripada status keluar perintah terakhir. Iaitu, jika arahan terakhir mengembalikan sifar, status keluar ialah 1; jika arahan terakhir mengembalikan lebih daripada sifar, status keluar adalah sifar.

Oleh kerana perantisan saluran input standard atau output standard atau kedua-duanya berlaku sebelum pengalihan semula, ia boleh diubah suai melalui pengalihan semula. Sebagai contoh:

$ command1 2> & 1 | command2

menghantar kedua-dua keluaran piawai dan ralat standard perintah1 kepada input standard perintah2.

A; atau terminator menyebabkan senarai DAN-OR-sebelumnya (diterangkan seterusnya) dijalankan secara berurutan; a & menyebabkan pelaksanaan tak segerak dari senarai AND-OR-sebelumnya.

Perhatikan bahawa tidak seperti beberapa cengkerang lain, setiap proses dalam saluran paip adalah anak dari cengkeraman yang melepaskan (kecuali jika ia adalah shell yang dibina, yang mana ia dijalankan dalam shell semasa - tetapi apa-apa kesannya terhadap alam sekitar dihapuskan).

Perintah Latar Belakang -

Sekiranya perintah ditamatkan oleh pengendali kawalan ampersand (&), shell melaksanakan perintah asynchronously - iaitu, shell tidak menunggu perintah selesai sebelum melaksanakan perintah seterusnya.

Format untuk menjalankan arahan di latar belakang ialah:

command1 & [command2 & ...]

Jika cengkerang tidak interaktif, input standard bagi arahan asynchronous ditetapkan ke / dev / null

Senarai - Secara umumnya Bercakap

Senarai adalah urutan sifar atau lebih banyak arahan yang dipisahkan oleh baris baru, titik koma, atau ampersand, dan dengan pilihannya ditamatkan oleh salah satu daripada tiga aksara ini. Perintah dalam senarai dilaksanakan mengikut perintah yang ditulis. Sekiranya arahan diikuti dengan ampersand, shell akan memulakan arahan dan teruskan ke perintah seterusnya; jika tidak, ia menunggu perintah untuk menamatkan sebelum meneruskan ke yang berikutnya.

Pengendali Senarai Litar Pendek

`` && '' dan `'||' 'adalah operator senarai AND-ATA. `` && '' melaksanakan perintah pertama, dan kemudian melaksanakan perintah kedua iff status keluar dari perintah pertama adalah sifar. `'||' 'adalah serupa, tetapi melaksanakan perintah kedua jika status keluar perintah pertama adalah nonzero. `` && '' dan `` || '' kedua-duanya mempunyai keutamaan yang sama.

Kawalan Aliran Membina - jika, sementara, untuk, kes

Sintaks bagi arahan jika

jika senarai
kemudian senarai
[senarai elif
kemudian senarai] ...
[senarai lain]
fi

Sintaks perintah semasa ialah

semasa senarai
buat senarai
dilakukan

Kedua-dua senarai itu dilaksanakan berulang kali manakala status keluar senarai pertama adalah sifar. Perintah sehingga sama, tetapi mempunyai kata sehingga di tempat sementara, yang menyebabkannya diulang sehingga status keluar daftar pertama adalah sifar.

Sintaks bagi arahan adalah

untuk pembolehubah dalam perkataan ...
buat senarai
dilakukan

Perkataan itu diperluas, dan kemudian senarai itu dilaksanakan berulang kali dengan pemboleh ubah yang ditetapkan untuk setiap kata pada gilirannya. lakukan dan dilakukan boleh digantikan dengan `` {'' dan ``} ''

Sintaks bagi rehat dan arahan berterusan adalah

pecahkan [num]
terus [num]

Break menamatkan num paling mendalam untuk atau semasa gelung. Terus terus dengan lelaran seterusnya dalam gelung paling dalam. Ini dilaksanakan sebagai perintah binaan.

Sintaks bagi arahan kes adalah

perkataan kes dalam
senarai) ;;
...
esac

Coraknya sebenarnya boleh menjadi satu atau lebih corak (lihat Corak Shell yang diterangkan kemudian), dipisahkan oleh aksara `` ''.

Perintah Berkumpulan Bersama

Perintah boleh dikumpulkan dengan menulis sama ada

(senarai)

atau

senarai {list;

Yang pertama melaksanakan arahan dalam subkelompok. Perintah terbina dalam yang dikumpulkan ke dalam (senarai) tidak akan menjejaskan shell semasa. Bentuk kedua tidak menanggalkan cengkerang lain jadi sedikit lebih cekap. Perintah kumpulan bersama-sama dengan cara ini membolehkan anda mengalihkan outputnya seolah-olah ia satu program:

{printf hello; printf world \ n ";}> ucapan

Fungsi

Sintaks definisi fungsi adalah

nama () perintah

Takrif fungsi adalah kenyataan yang boleh dilaksanakan; apabila dilaksanakan ia memasang fungsi bernama nama dan mengembalikan status keluar sifar. Perintah biasanya adalah senarai yang disertakan di antara `` {'' dan ``} ''

Pembolehubah boleh diisytiharkan menjadi setempat kepada fungsi dengan menggunakan arahan setempat. Ini sepatutnya muncul sebagai pernyataan pertama fungsi, dan sintaksnya adalah

pembolehubah setempat [ -] ...

Tempatan dilaksanakan sebagai perintah terbina.

Apabila pembolehubah dibuat setempat, ia mewarisi nilai awal dan dieksport dan dibaca bendera dari pemboleh ubah dengan nama yang sama dalam skop sekelilingnya, jika ada satu. Jika tidak, pembolehubah pada awalnya tidak disetkan. Cakera menggunakan skala dinamik, jadi jika anda membuat pemboleh ubah x setempat untuk berfungsi f, yang kemudiannya memanggil fungsi g, rujukan kepada pemboleh ubah x yang dibuat di dalam g akan merujuk kepada pemboleh ubah x yang diisytiharkan di dalam f, bukan kepada pembolehubah global yang dinamakan x .

Satu-satunya parameter khas daripada yang boleh dibuat setempat adalah `` - '' Membuat `` - '' pilihan tempatan mana-mana shell yang diubah melalui perintah yang ditetapkan di dalam fungsi untuk dipulihkan kepada nilai asalnya apabila fungsi itu kembali.

Sintaks arahan kembali adalah

kembali [exitstatus

Ia menamatkan fungsi yang sedang dijalankan. Pulangan dilaksanakan sebagai perintah terbina.

Pembolehubah dan Parameter

Cengkerang mengekalkan satu set parameter. Parameter yang dilambangkan oleh nama dipanggil pemboleh ubah. Apabila bermula, shell mengubah semua pembolehubah persekitaran menjadi pembolehubah shell. Pembolehubah baru boleh ditetapkan menggunakan borang tersebut

nama = nilai

Pembolehubah yang ditetapkan oleh pengguna mestilah mempunyai nama yang terdiri daripada abjad, angka, dan garis bawah - yang pertama tidak boleh berangka. Parameter juga boleh dilambangkan dengan nombor atau aksara khas seperti yang dijelaskan di bawah.

Parameter Posisi

Parameter kedudukan ialah parameter yang dilambangkan oleh nombor (n> 0). Cakera ini menetapkan pada awalnya kepada nilai hujah baris perintahnya yang mengikuti skrip shell nama. Set (1) builtin juga boleh digunakan untuk menetapkan atau menetapkan semula mereka.

Parameter Khas

Parameter khas ialah parameter yang dilambangkan oleh salah satu aksara khas berikut. Nilai parameter disenaraikan di sebelah wataknya.

*

Memperluas kepada parameter kedudukan, bermula dari satu. Apabila pengembangan berlaku dalam rentetan dua petikan, ia berkembang ke satu medan tunggal dengan nilai setiap parameter yang dipisahkan oleh karakter pertama pembolehubah IFS , atau oleh jika IFS tidak disetkan.

@

Memperluas kepada parameter kedudukan, bermula dari satu. Apabila pengembangan berlaku dalam petikan berganda, setiap parameter kedudukan mengembang sebagai hujah yang berasingan. Sekiranya tidak ada parameter posisional, pengembangan @ menghasilkan hujah-hujah sifar, walaupun @ disebutkan dua kali. Contohnya pada dasarnya, jika $ 1 adalah `` abc '' dan $ 2 adalah `` def ghi '' maka Qq $ @ mengembang ke dua argumen:

abc def ghi

#

Memperluas kepada bilangan parameter kedudukan.

?

Memperluaskan status keluar dari saluran paip yang paling baru.

- (Hyphen.)

Memperluas kepada bendera pilihan semasa (nama pilihan tunggal huruf yang digabungkan ke dalam rentetan) seperti yang dinyatakan pada doa, dengan perintah set builtin, atau secara tersirat oleh shell.

$

Memperluas ke ID proses shell yang dipanggil. Subseksyen mengekalkan nilai yang sama $ sebagai induknya.

!

Memperluas ke ID proses arahan latar belakang paling terkini yang dilaksanakan dari shell semasa. Untuk saluran paip, ID proses ialah arahan terakhir dalam perancangan.

0 (Zero.)

Memperluas nama skrip shell atau shell.

Perkembangan Word

Fasal ini menghuraikan pelbagai ekspansi yang dilakukan pada kata-kata. Tidak semua ekspansi dilakukan pada setiap perkataan, seperti yang dijelaskan kemudian.

Ekspansi Tilde, ekspansi parameter, penggantian perintah, ekspansi aritmetik, dan penyingkiran kutipan yang berlaku dalam satu perkataan berkembang ke satu bidang. Ia hanya pemisahan bidang atau pengembangan laluan laluan yang boleh membuat pelbagai bidang dari satu perkataan. Pengecualian tunggal kepada peraturan ini ialah pengembangan parameter khas @ dalam petikan berganda, seperti yang dijelaskan di atas.

Urutan pengembangan perkataan adalah:

  1. Ekspansi Tilde, Pengembangan Parameter, Pergantian Perintah, Pengembangan Aritmetik (semuanya berlaku pada masa yang sama).
  2. Pemisahan medan dilakukan pada medan yang dihasilkan oleh langkah (1) melainkan pembolehubah IFS adalah batal.
  3. Pengembangan Pathname (melainkan set - f berkuat kuasa).
  4. Kutipan Pembuangan.

Aksara $ digunakan untuk memperkenalkan pengembangan parameter, penggantian perintah, atau penilaian aritmetik.

Pengembangan Tilde (menggantikan direktori rumah pengguna & # 39; s)

Perkataan yang bermula dengan watak tilde yang tidak disebutkan (~) tertakluk kepada pengembangan tilde. Semua aksara sehingga slash (/) atau akhir perkataan dianggap sebagai nama pengguna dan digantikan dengan direktori rumah pengguna. Jika nama pengguna hilang (seperti dalam ~ / foobar) tilde digantikan dengan nilai pembolehubah HOME (direktori rumah pengguna semasa).

Pengembangan Parameter

Format untuk pengembangan parameter adalah seperti berikut:

di mana ungkapan terdiri daripada semua aksara sehingga padanan ``} '' Mana-mana ``} '' meloloskan oleh backslash atau dalam rentetan yang disebutkan, dan aksara dalam ekspansi aritmetik tertanam, penggantian perintah, dan pengembangan berubah, tidak diperiksa dalam menentukan padanan ``} ''

Bentuk yang paling sederhana untuk pengembangan parameter adalah:

Nilai, jika ada, parameter diganti.

Nama parameter atau simbol boleh dilampirkan dalam pendakap, yang merupakan pilihan kecuali untuk parameter kedudukan dengan lebih daripada satu digit atau apabila parameter diikuti oleh watak yang boleh ditafsirkan sebagai sebahagian daripada nama. Jika pengembangan parameter berlaku di dalam petikan berganda:

  1. Pengembangan Pathname tidak dilakukan pada hasil pengembangan.
  2. Pemisahan medan tidak dilakukan pada hasil pengembangan, kecuali @.

Di samping itu, pengembangan parameter boleh diubahsuai dengan menggunakan salah satu daripada format berikut.

Gunakan Nilai Default. Jika parameter tidak ditetapkan atau batal, pengembangan perkataan diganti; sebaliknya, nilai parameter diganti.

Berikan Nilai Default. Jika parameter tidak ditetapkan atau batal, pengembangan perkataan diberikan kepada parameter. Dalam semua kes, nilai akhir parameter diganti. Hanya pembolehubah, bukan parameter kedudukan atau parameter khas, boleh ditugaskan dengan cara ini.

Tunjukkan Ralat jika Null atau Unset. Jika parameter tidak disetkan atau batal, pengembangan perkataan (atau mesej yang menunjukkan ia tidak disetkan jika perkataan tidak disertakan) ditulis kepada ralat standard dan keluar shell keluar dengan status keluar nonzero. Jika tidak, nilai parameter diganti. Cangkang interaktif tidak perlu keluar.

Gunakan Nilai Alternatif. Jika parameter tidak disetkan atau batal, null diganti; sebaliknya, pengembangan perkataan digantikan.

Dalam ekspansif parameter yang ditunjukkan sebelum ini, penggunaan kolon dalam hasil format dalam ujian untuk parameter yang tidak disetkan atau batal; Penolakan hasil usus besar dalam ujian untuk parameter yang hanya tidak disetel.

Panjang String. Panjang dalam aksara nilai parameter.

Empat jenis pengembangan parameter berikut menyediakan pemproses substring. Dalam setiap kes, notasi padanan corak (lihat Corak Shell), bukannya notasi ungkapan biasa, digunakan untuk menilai corak. Jika parameter * atau @, hasil pengembangan tidak ditentukan. Menerapkan rentetan pengembangan parameter penuh dalam petikan berganda tidak menyebabkan empat jenis corak watak yang berikut disebutkan, manakala memetik aksara dalam pendakap mempunyai kesan ini.

Keluarkan Corak Sufik Terkecil. Perkataan itu diperluas untuk menghasilkan corak. Ekspansi parameter kemudian menghasilkan parameter, dengan bahagian paling akhir dari akhiran yang dipadankan dengan pola yang dipadamkan.

Keluarkan Corak Sufiks Terbesar. Perkataan itu diperluas untuk menghasilkan corak. Ekspansi parameter kemudian menghasilkan parameter, dengan bahagian akhir akhiran yang dipadankan dengan pola yang dipadamkan.

Buang Corak Awalan Terkecil. Perkataan itu diperluas untuk menghasilkan corak. Pengembangan parameter kemudian menghasilkan parameter, dengan bahagian terkecil dari awalan yang dipadankan dengan pola yang dipadamkan.

Alih Keluar Corak Awalan Terbesar. Perkataan itu diperluas untuk menghasilkan corak. Ekspansi parameter kemudian menghasilkan parameter, dengan bahagian terbesar awalan yang dipadankan dengan pola yang dipadamkan.

Pergantian Perintah

Penggantian perintah membolehkan output suatu perintah diganti di tempat nama arahan itu sendiri. Penggantian perintah berlaku apabila arahan disertakan seperti berikut:

$ (arahan)

atau Po `` backquoted '' versi Pc:

`command`

Shell memperluas penggantian perintah dengan melaksanakan perintah dalam persekitaran subkeluar dan menggantikan perintah penggantian dengan keluaran standard arahan, mengeluarkan urutan satu atau lebih s pada akhir penggantian. (Embedded s sebelum akhir output tidak dikeluarkan, namun semasa pemisahan medan, ia boleh diterjemahkan ke dalam s, bergantung pada nilai IFS dan sebutan yang berlaku.)

Pengembangan aritmetik

Pengembangan aritmetik menyediakan mekanisme untuk menilai ungkapan aritmetik dan menggantikan nilainya. Format untuk pengembangan aritmetik adalah seperti berikut:

$ ((ungkapan))

Ungkapan ini diperlakukan seolah-olah ia dalam petikan berganda, kecuali bahawa kutipan berganda di dalam ungkapan tidak diperlakukan secara khusus. Cakera mengembang semua token dalam ungkapan untuk pengembangan parameter, penggantian perintah, dan penyingkiran kutipan.

Selanjutnya, kulit merawat ini sebagai ungkapan aritmetik dan menggantikan nilai ungkapan.

Pemisahan Ruang Putih (Pemisahan Lapangan)

Selepas pengembangan parameter, penggantian perintah, dan pengembangan aritmetik shell mengimbas hasil ekspansi dan penggantian yang tidak berlaku dalam petikan berganda untuk pemisahan medan dan beberapa medan boleh dihasilkan.

Cakera merawat setiap karakter IFS sebagai pembatas dan menggunakan pembatas untuk memecah keputusan pengembangan parameter dan penggantian perintah ke dalam bidang.

Pengembangan Pathname (Generasi Nama Fail)

Sekiranya bendera - f ditetapkan, penjanaan nama fail dilakukan selepas pemisahan perkataan selesai. Setiap perkataan dipandang sebagai satu siri corak, dipisahkan oleh slashes. Proses pengembangan menggantikan perkataan dengan nama-nama semua fail sedia ada yang namanya dapat dibentuk dengan menggantikan setiap pola dengan rentetan yang sesuai dengan pola yang ditentukan. Terdapat dua sekatan ke atas ini: pertama, corak tidak boleh sepadan dengan rentetan yang mengandungi garis miring, dan kedua, corak tidak dapat menyamai rentetan bermula dengan tempoh kecuali karakter pertama corak adalah tempoh. Bahagian seterusnya menerangkan corak yang digunakan untuk Pengembangan Pathname dan kes (1) perintah.

Corak Shell

Corak terdiri daripada aksara biasa, yang sepadan dengan dirinya sendiri, dan aksara meta. Aksara meta adalah ``! '' `` * '' ``? '' Dan `` ['' Aksara ini kehilangan makna khas mereka jika mereka dipetik. Apabila penggantian perintah atau ubahsuaian dilakukan dan sebut harga tanda dolar atau belakang tidak dipetik dua kali, nilai pembolehubah atau output perintah diimbas untuk aksara ini dan ia berubah menjadi meta-aksara.

Asterisk (`` * '') sepadan dengan sebarang aksara. Tanda soalan sepadan dengan mana-mana aksara tunggal. Satu kurungan kiri (`` ['') memperkenalkan kelas watak. Akhir kelas watak ditunjukkan oleh (``] '') jika ``] '' hilang maka `` ['' sepadan dengan `` ['' dan bukannya memperkenalkan kelas watak. Kelas watak sepadan dengan mana-mana watak antara kurungan persegi. Pelbagai aksara boleh ditentukan dengan menggunakan tanda tolak. Kelas watak boleh dilengkapkan dengan membuat tanda seru pada watak pertama kelas watak.

Untuk memasukkan `` '' 'dalam kelas aksara, buatlah watak pertama yang disenaraikan (selepas ``!' 'Jika ada). Untuk memasukkan tanda tolak, buatkan watak pertama atau terakhir yang disenaraikan

Terbina

Bahagian ini menyenaraikan perintah terbina yang dibina kerana mereka perlu melakukan beberapa operasi yang tidak dapat dilakukan oleh proses yang berasingan. Di samping itu, terdapat beberapa perintah lain yang boleh dibina untuk kecekapan (contohnya echo 1).

:

Satu arahan null yang mengembalikan nilai keluar 0 (benar).

. fail

Perintah dalam fail yang dinyatakan dibaca dan dilaksanakan oleh shell.

alias [ nama [ = string ... ]]

Jika nama = rentetan ditentukan, shell menentukan nama alias dengan rentetan nilai Jika hanya nama ditentukan, nilai nama alias dicetak. Dengan tiada hujah, alias builtin mencetak nama dan nilai semua alias yang ditetapkan (lihat unalias)

bg [ pekerjaan] ...

Teruskan pekerjaan yang ditentukan (atau kerja semasa jika tiada pekerjaan diberikan) di latar belakang.

perintah arahan arg ...

Keluarkan arahan yang telah dibina. (Ini berguna apabila anda mempunyai fungsi shell dengan nama yang sama dengan perintah builtin.)

cd [ direktori ]

Beralih ke direktori yang ditentukan (lalai $ HOME) Jika entri untuk CDPATH muncul dalam lingkungan perintah cd atau pembolehubah shell CDPATH ditetapkan dan nama direktori tidak bermula dengan garis miring, maka direktori yang disenaraikan dalam CDPATH akan dicari untuk direktori yang ditentukan. Format CDPATH adalah sama dengan PATH Dalam shell interaktif, arahan cd akan mencetak nama direktori yang sebenarnya ditukar kepada jika ini berbeza dengan nama yang diberikan oleh pengguna. Ini mungkin berbeza sama ada mekanisme CDPATH digunakan atau kerana pautan simbolik telah dilalui.

tali eval ...

Keluarkan semua argumen dengan ruang. Kemudian balas semula dan laksanakan perintah itu.

exec [ command arg ... ]

Kecuali arahan dihilangkan, proses shell digantikan dengan program yang ditentukan (yang mesti menjadi program nyata, bukan shell yang dibina atau berfungsi). Apa-apa peralihan pada arahan pelaksanaan ditandakan sebagai kekal, supaya mereka tidak dibatalkan apabila arahan pelaksanaan selesai.

keluar [ exitstatus ]

Tamatkan proses shell. Jika exitstatus diberikan ia digunakan sebagai status keluar dari cangkang; jika tidak, status keluar perintah terdahulu digunakan.

nama eksport ...

eksport -p

Nama-nama yang dinyatakan dieksport supaya mereka akan muncul dalam persekitaran perintah berikutnya. Satu-satunya cara untuk tidak mengeksport pembolehubah adalah untuk menyatukannya. Cangkang itu membenarkan nilai pembolehubah yang ditetapkan pada masa yang sama ia dieksport dengan menulis

nama eksport = nilai

Dengan tiada hujah perintah eksport menyenaraikan nama semua pemboleh ubah yang dieksport. Dengan pilihan - p yang dinyatakan output akan diformat sesuai untuk penggunaan tidak interaktif.

fc [- e editor ] [ pertama [ terakhir ]]

fc -l [- nr ] [ pertama [ terakhir ]]

fc -s [ lama = baru ] [ pertama ]

Senarai fc terbina, atau suntingan dan perlaksanaan semula, perintah yang sebelum ini dimasukkan ke dalam shell interaktif.

editor-e

Gunakan editor yang dinamakan oleh editor untuk mengedit arahan. Rentetan editor adalah nama arahan, tertakluk kepada mencari melalui pemboleh ubah PATH . Nilai dalam pembolehubah FCEDIT digunakan sebagai lalai apabila - e tidak ditentukan. Jika FCEDIT adalah batal atau tidak ditetapkan, nilai pemboleh ubah EDITOR digunakan. Jika EDITOR adalah tidak sah atau tidak, ed (1) digunakan sebagai editor.

-l (ell)

Senaraikan perintah dan bukannya menggunakan editor pada mereka. Perintah ditulis dalam urutan yang ditunjukkan oleh operan pertama dan terakhir, seperti yang dipengaruhi oleh - r dengan setiap arahan didahului oleh nombor arahan.

-n

Tekan nombor arahan apabila menyenaraikan dengan -l.

-r

Membalik perintah perintah yang disenaraikan (dengan - l atau diedit (dengan tiada - l juga - s)

-s

Jalankan semula perintah tanpa menggunakan editor.

pertama

lepas

Pilih arahan untuk disenaraikan atau diedit. Bilangan arahan terdahulu yang boleh diakses ditentukan oleh nilai pemboleh ubah HISTSIZE . Nilai pertama atau terakhir atau keduanya adalah salah satu daripada berikut:

[+] nombor

Nombor positif yang mewakili nombor arahan; nombor arahan boleh dipaparkan dengan pilihan - l .

-number

Nombor perpuluhan negatif yang mewakili arahan yang telah dijalankan bilangan arahan sebelum ini. Sebagai contoh, -1 adalah arahan yang terdahulu.

tali

Rentetan yang menunjukkan arahan yang paling baru dimasukkan yang bermula dengan rentetan itu. Jika pengendali lama = baru tidak juga dinyatakan dengan - s bentuk rentetan operan pertama tidak boleh mengandungi tanda yang sama.

Pembolehubah persekitaran berikut mempengaruhi pelaksanaan fc:

FCEDIT

Nama editor yang hendak digunakan.

HISTSIZE

Bilangan arahan terdahulu yang boleh diakses.

fg [ pekerjaan ]

Pindah kerja yang ditentukan atau kerja semasa ke latar depan.

getopts optstring var

Perintah POSIX getopts , jangan dikelirukan dengan getopt Bell Labs- ditahan (1).

Hujah pertama sepatutnya menjadi satu siri surat, masing-masing yang boleh diikuti dengan titik besar untuk menunjukkan bahawa pilihan itu memerlukan hujah. Pemboleh ubah yang dinyatakan ditetapkan kepada pilihan yang diasingkan.

Perintah getopts menghantarkan utiliti getopt yang lebih tua (1) kerana pengendalian argumen yang mengandungi ruang putih.

The builtin getopts boleh digunakan untuk mendapatkan pilihan dan hujah mereka dari senarai parameter. Apabila dipanggil, getopts meletakkan nilai pilihan seterusnya dari string pilihan dalam senarai dalam pembolehubah shell yang ditentukan oleh var dan ia indeks dalam pembolehubah shell OPTIND Apabila shell digunakan, OPTIND diinisialisasi untuk 1. Untuk setiap pilihan yang memerlukan hujah, getopts builtin akan meletakkannya dalam pembolehubah shell OPTARG Jika pilihan tidak dibenarkan dalam optik maka OPTARG akan tidak disetkan.

optstring adalah rentetan huruf pilihan yang diiktiraf. Sekiranya huruf diikuti tanda titik, pilihannya dijangka mempunyai argumen yang mungkin atau tidak boleh dipisahkan dari ruang putih. Sekiranya watak pilihan tidak dijumpai di mana dijangka, getopts akan menetapkan var pembolehubah kepada ``? '' Getopts kemudian akan menyatarkan OPTARG dan menulis output kepada ralat standard. Dengan menentukan kolon sebagai watak pertama mengoptik semua kesilapan akan diabaikan.

Nilai nonzero dikembalikan apabila pilihan terakhir dicapai. Sekiranya tiada argumen yang tinggal, getopts akan menetapkan var ke pilihan khas, `` - '' jika tidak, ia akan menetapkan var kepada ``? ''

Serpihan kod berikut menunjukkan bagaimana seseorang boleh memproses argumen untuk arahan yang boleh mengambil pilihan [a] dan [b] dan pilihan [c] yang memerlukan argumen.

sementara getopts abc: f
lakukan
kes $ f dalam
a | b) bendera = $ f ;;
c) carg = $ OPTARG ;;
\?) echo $ USAGE; keluar 1 ;;
esac
dilakukan
shift `expr $ OPTIND - 1`

Kod ini akan menerima mana-mana yang berikut sebagai setaraf:

fail fail cmd -acarg
cmd -a -c arg file file
cmd -carg -a fail fail
cmd -a -carg - fail fail

arahan hash -rv ...

Cengkerang mengekalkan jadual hash yang mengingati lokasi arahan. Dengan tiada sebarang hujah, arahan hash mencetak kandungan jadual ini. Penyertaan yang belum dilihat sejak perintah cd terakhir ditandakan dengan asterisk; adalah mungkin untuk penyertaan ini tidak sah.

Dengan hujah, arahan hash menghilangkan arahan yang ditentukan dari jadual hash (kecuali fungsi tersebut) dan kemudian menempatkannya. Dengan pilihan - v , hash mencetak lokasi arahan kerana ia mendapatinya. Opsyen - r menyebabkan arahan hash untuk memadam semua entri dalam jadual hash kecuali fungsi.

jobid [ job ]

Cetak proses proses id di dalam proses kerja. Jika hujah kerja ditinggalkan, kerja semasa digunakan.

pekerjaan

Perintah ini menyenaraikan semua proses latar belakang yang merupakan anak-anak proses shell semasa.

pwd

Cetak direktori semasa. Perintah yang terbina mungkin berbeza daripada program nama yang sama kerana perintah terbina mengingati direktori semasa dan bukannya membuat rekomputasi setiap kali. Ini menjadikannya lebih cepat. Walau bagaimanapun, jika direktori semasa diubah namanya, versi terbina dari pwd akan terus mencetak nama lama untuk direktori tersebut.

baca [- p prompt ] [- r ] pemboleh ubah ...

Petunjuk dicetak jika pilihan - p ditetapkan dan input standard adalah terminal. Kemudian baris dibaca dari input standard. The lineline yang baru akan dipadamkan dari garisan dan garisannya berpecah seperti yang diterangkan dalam bahagian pada kata yang berpecah di atas, dan kepingan-kepingan itu diberikan kepada pembolehubah dalam susunan. Sekurang-kurangnya satu pembolehubah mesti ditentukan. Jika terdapat lebih banyak potongan daripada pembolehubah, kepingan yang tinggal (bersama-sama dengan aksara dalam IFS yang memisahkannya) diberikan kepada pemboleh ubah terakhir. Sekiranya terdapat lebih banyak pemboleh ubah daripada kepingan, pembolehubah yang tinggal diberikan rentetan null. Dibaca terbina akan menunjukkan kejayaan melainkan EOF ditemui pada input, di mana kegagalan dikembalikan.

Secara lalai, melainkan jika pilihan - r ditetapkan, backslash `` \ '' bertindak sebagai watak melarikan diri, menyebabkan watak berikut dianggap betul. Jika backslash diikuti oleh garis baharu, garis belakang dan garis baharu akan dipadamkan.

nama baca ...

readonly -p

Nama-nama yang dinyatakan ditandakan sebagai bacaan sahaja, supaya mereka tidak dapat diubah atau tidak diubah. Cangkang itu membenarkan nilai pembolehubah yang ditetapkan pada masa yang sama ia ditandakan dengan hanya membaca dengan menulis

readonly name = value

Dengan tidak ada hujah arahan baca akan menyenaraikan nama semua pembaca sahaja yang dibaca. Dengan pilihan - p yang dinyatakan output akan diformat sesuai untuk penggunaan tidak interaktif.

tetapkan [{- options | + pilihan | - arg ... ]

Perintah set menjalankan tiga fungsi yang berlainan.

Dengan tiada hujah, ia menyenaraikan nilai semua pembolehubah shell.

Jika opsyen diberikan, ia menetapkan bendera pilihan tertentu, atau membersihkannya seperti yang diterangkan dalam bahagian yang dipanggil Pemprosesan Senarai Argumen Sx.

Penggunaan ketiga arahan yang ditetapkan adalah untuk menetapkan nilai-nilai parameter kedudukan shell kepada argumen yang ditentukan. Untuk menukar parameter kedudukan tanpa mengubah sebarang pilihan, gunakan `` - '' sebagai hujah pertama untuk ditetapkan. Sekiranya tidak terdapat argumen, arahan yang ditetapkan akan menghapuskan semua parameter kedudukan (bersamaan dengan melaksanakan ` shift $ #. ''

nilai ubahsuaian

Berikan nilai kepada variabel. (Secara umumnya adalah lebih baik untuk menulis variabel = nilai dan bukannya menggunakan setvar setvar bertujuan untuk digunakan dalam fungsi yang memberikan nilai kepada pembolehubah yang namanya diluluskan sebagai parameter.)

peralihan [ n ]

Shift parameter kedudukan n kali. Peralihan menetapkan nilai $ 1 kepada nilai $ 2 nilai $ 2 kepada nilai $ 3 dan sebagainya, mengurangkan nilai $ # oleh satu. Jika n adalah lebih besar daripada bilangan parameter kedudukan, pergeseran akan mengeluarkan mesej ralat, dan keluar dengan status kembali 2.

kali

Cetak masa pengguna dan sistem terkumpul untuk shell dan untuk proses berjalan dari shell. Status pulangan adalah 0.

isyarat tindakan perangkap ...

Punca shell untuk mengurai dan melaksanakan tindakan apabila mana-mana isyarat tertentu diterima. Isyarat ditentukan oleh nombor isyarat. Sekiranya isyarat adalah 0 , tindakan akan dilaksanakan apabila keluar shell. tindakan mungkin batal atau `` - '' yang menyebabkan penyebab isyarat yang dinyatakan diabaikan dan yang terakhir menyebabkan tindakan lalai diambil. Apabila shell mengeluarkan garisan kecil, ia menetapkan semula isyarat terperangkap (tetapi tidak diabaikan) kepada tindakan lalai. Perangkap perangkap tidak memberi kesan pada isyarat yang tidak diendahkan pada kemasukan ke shell.

ketik [ nama ... ]

Terangkan setiap nama sebagai arahan dan cetak resolusi carian arahan. Resolusi yang mungkin adalah: kata kunci shell, alias, shell builtin , perintah, alias yang dikesan dan tidak dijumpai. Untuk alias peluasan alias dicetak; untuk arahan dan alias yang dikesan arahan jalan lengkap arahan dicetak.

ulimit [- H -S ] [- a-tfdscmlpn [ value ]]

Bertanya tentang atau tetapkan had keras atau lembut pada proses atau tetapkan had baru. Pilihan di antara had keras (yang mana proses tidak dibenarkan untuk dilanggar, dan yang tidak boleh dibangkitkan sebaik sahaja ia telah diturunkan) dan had lembut (yang menyebabkan proses menjadi signaled tetapi tidak semestinya dibunuh, dan yang boleh dibangkitkan) dibuat dengan bendera ini:

-H

tetapkan atau periksa tentang had keras

-S

tetapkan atau periksa tentang had lembut. Sekiranya tidak - H dan - S dinyatakan, had lembut dipaparkan atau kedua-dua had ditetapkan. Jika kedua-duanya ditentukan, yang terakhir menang.

Had untuk diinterogasi atau ditetapkan, kemudian, dipilih dengan menyatakan salah satu daripada bendera ini:

-a

tunjukkan semua had semasa

-t

tunjukkan atau tetapkan had pada masa CPU (dalam saat)

-f

tunjukkan atau tetapkan had pada fail terbesar yang boleh dibuat (dalam blok 512-bait)

-d

tunjukkan atau tetapkan had pada saiz segmen data proses (dalam kilobytes)

-s

tunjukkan atau tetapkan had pada saiz timbunan suatu proses (dalam kilobytes)

-c

tunjukkan atau tetapkan had pada saiz dump utama yang boleh dihasilkan (dalam blok 512-bait)

-m

tunjukkan atau tetapkan batas pada jumlah memori fizikal yang boleh digunakan oleh suatu proses (dalam kilobytes)

-l

tunjukkan atau tetapkan had pada berapa banyak memori proses boleh dikunci dengan mlock (2) (dalam kilobytes )

-p

tunjukkan atau tetapkan had jumlah proses yang boleh dimiliki oleh pengguna pada satu masa

-n

tunjukkan atau tetapkan had pada fail bilangan proses boleh dibuka sekaligus

Sekiranya tiada satu pun yang dinyatakan, ia adalah had pada saiz fail yang ditunjukkan atau ditetapkan. Jika nilai ditentukan, had ditetapkan kepada nombor itu; jika tidak, had semasa dipaparkan.

Had proses sewenang-wenangnya boleh dipaparkan atau ditetapkan menggunakan utiliti sysctl (8).

umask [ topeng ]

Tetapkan nilai umask (lihat umask (2)) dengan nilai oktal yang dinyatakan. Jika hujah diabaikan, nilai umask dicetak.

unalias [- a ] [ nama ]

Jika nama ditentukan, shell akan menghapus alias itu. Jika - a dinyatakan, semua alias dikeluarkan.

nama tidak siap ...

Pembolehubah dan fungsi yang dinyatakan tidak ditetapkan dan tidak dieksport. Jika nama yang diberikan sepadan dengan kedua-dua pembolehubah dan fungsi, kedua-dua pemboleh ubah dan fungsi itu tidak ditetapkan.

tunggu [ pekerjaan ]

Tunggu kerja yang dinyatakan untuk menyelesaikan dan kembali status keluar proses terakhir dalam pekerjaan. Jika hujah diabaikan, tunggu semua pekerjaan selesai dan kembalikan status keluar sifar.

Penyuntingan Barisan Perintah

Apabila sh sedang digunakan secara interaktif dari terminal, perintah semasa dan sejarah arahan (lihat fc dalam Sx Builtins) boleh diedit menggunakan pengeditan baris arahan vi. Mod ini menggunakan arahan yang diterangkan di bawah, sama seperti subset yang diterangkan dalam halaman lelaki vi. Perintah `set '-o vi membolehkan pengeditan vi-mod dan letakkan ke dalam mod memasukkan vi. Dengan mod vi diaktifkan, sh boleh dihidupkan antara mod sisipan dan mod perintah. Editor tidak digambarkan sepenuhnya di sini, tetapi akan dalam dokumen yang kemudian. Ia sama dengan vi: menaip Aq ESC akan membuang anda ke dalam mod arahan command VI. Memukul kembali Aq semasa dalam mod arahan akan lulus baris ke shell.

Penting: Gunakan arahan lelaki ( % man ) untuk melihat bagaimana arahan digunakan pada komputer tertentu anda.