InggrisPerancisSpanyol

favorit OnWorks

dasbor - Online di Cloud

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

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

PROGRAM:

NAMA


berlari — juru bahasa perintah (shell)

RINGKASAN


berlari [-aCefnuvxIimqVEbp] [+aCefnuvxIimqVEbp] [-o OPTION_NAME] [+o OPTION_NAME]
[file_perintah [argumen ...]]
berlari -c [-aCefnuvxIimqVEbp] [+aCefnuvxIimqVEbp] [-o OPTION_NAME] [+o OPTION_NAME]
perintah_string [nama_perintah [argumen ...]]
berlari -s [-aCefnuvxIimqVEbp] [+aCefnuvxIimqVEbp] [-o OPTION_NAME] [+o OPTION_NAME]
[argumen ...]

DESKRIPSI


berlari adalah penerjemah perintah standar untuk sistem. Versi saat ini dari berlari dalam
proses diubah agar sesuai dengan spesifikasi POSIX 1003.2 dan 1003.2a untuk
kerang. Versi ini memiliki banyak fitur yang membuatnya tampak serupa dalam beberapa hal dengan
cangkang Korn, tetapi itu bukan tiruan cangkang Korn (lihat ksh(1)). Hanya fitur yang ditunjuk oleh
POSIX, ditambah beberapa ekstensi Berkeley, sedang dimasukkan ke dalam shell ini. Pria ini
halaman ini tidak dimaksudkan sebagai tutorial atau spesifikasi lengkap dari shell.

Ringkasan
Shell adalah perintah yang membaca baris dari file atau terminal, menafsirkannya,
dan umumnya menjalankan perintah lain. Ini adalah program yang berjalan ketika pengguna login
ke dalam sistem (walaupun pengguna dapat memilih shell yang berbeda dengan chsh(1) perintah).
Shell mengimplementasikan bahasa yang memiliki konstruksi kontrol aliran, fasilitas makro yang
menyediakan berbagai fitur selain penyimpanan data, bersama dengan riwayat bawaan dan
kemampuan mengedit baris. Ini menggabungkan banyak fitur untuk membantu penggunaan interaktif dan memiliki
keuntungan bahwa bahasa interpretatif umum untuk kedua interaktif dan non-interaktif
gunakan (skrip shell). Artinya, perintah dapat diketik langsung ke shell yang sedang berjalan atau bisa juga
dimasukkan ke dalam file dan file tersebut dapat dieksekusi langsung oleh shell.

Doa
Jika tidak ada argumen dan jika input standar shell terhubung ke terminal (atau
jika -i bendera diatur), dan -c opsi tidak ada, shell dianggap sebagai
cangkang interaktif. Shell interaktif umumnya meminta sebelum setiap perintah dan pegangan
pemrograman dan kesalahan perintah secara berbeda (seperti yang dijelaskan di bawah). Saat pertama kali memulai,
shell memeriksa argumen 0, dan jika dimulai dengan tanda hubung '-', shell juga dianggap sebagai
kulit masuk. Ini biasanya dilakukan secara otomatis oleh sistem ketika pengguna pertama kali masuk.
Shell login pertama membaca perintah dari file / etc / profile dan .Profil jika mereka ada.
Jika variabel lingkungan ENV diatur saat masuk ke shell interaktif, atau diatur di
.Profil shell login, shell selanjutnya membaca perintah dari file bernama di ENV.
Oleh karena itu, pengguna harus menempatkan perintah yang akan dieksekusi hanya pada saat login di
.Profil file, dan perintah yang dieksekusi untuk setiap shell interaktif di dalam ENV
mengajukan. Untuk mengatur variabel ENV ke beberapa file, tempatkan baris berikut di .Profil of
direktori rumah Anda

ENV=$HOME/.shinit; ekspor ENV

mengganti ".shinit" nama file apa pun yang Anda inginkan.

Jika argumen baris perintah selain opsi telah ditentukan, maka shell akan memperlakukan
argumen pertama sebagai nama file untuk membaca perintah (skrip shell), dan
argumen yang tersisa ditetapkan sebagai parameter posisi shell ($1, $2, dll).
Jika tidak, shell membaca perintah dari input standarnya.

Argumen Daftar Pengolahan
Semua opsi huruf tunggal yang memiliki nama yang sesuai dapat digunakan sebagai argumen
ke -o pilihan. Set -o nama disediakan di sebelah opsi satu huruf di
deskripsi di bawah ini. Menentukan tanda hubung “-” akan mengaktifkan opsi, saat menggunakan tanda tambah “+”
menonaktifkan opsi. Opsi berikut dapat diatur dari baris perintah atau dengan set
bawaan (dijelaskan nanti).

-a semua ekspor Ekspor semua variabel yang ditetapkan ke.

-c Baca perintah dari perintah_string operan alih-alih dari
masukan standar. Parameter khusus 0 akan diatur dari
nama_perintah operan dan parameter posisi (1, $2, dll.)
set dari operan argumen yang tersisa.

-C noclobber Jangan menimpa file yang ada dengan ">".

-e salah Jika tidak interaktif, segera keluar jika ada perintah yang belum diuji gagal.
Status keluar dari suatu perintah dianggap diuji secara eksplisit jika
perintah yang digunakan untuk mengontrol if, elif, sementara, atau sampai; atau jika
perintahnya adalah operan tangan kiri dari "&&" atau "||" operator.

-f noglob Nonaktifkan perluasan nama jalur.

-n noexec Jika tidak interaktif, baca perintah tetapi jangan jalankan. Ini adalah
berguna untuk memeriksa sintaks skrip shell.

-u kata benda Tulis pesan ke kesalahan standar saat mencoba memperluas a
variabel yang tidak disetel, dan jika shell tidak interaktif, keluar
segera.

-v bertele-tele Shell menulis inputnya ke kesalahan standar saat dibaca. Berguna
untuk debugging.

-x jejak x Tulis setiap perintah ke kesalahan standar (diawali dengan '+ ') sebelum itu
dieksekusi. Berguna untuk debugging.

-I mengabaikan Abaikan EOF dari input saat interaktif.

-i interaktif Paksa shell untuk berperilaku interaktif.

-l Buat tanda hubung bertindak seolah-olah telah dipanggil sebagai shell login.

-m Monitor Hidupkan kontrol pekerjaan (diatur secara otomatis saat interaktif).

-s stdin Baca perintah dari input standar (diatur secara otomatis jika tidak ada file
argumen yang hadir). Opsi ini tidak berpengaruh bila disetel setelah
shell sudah mulai berjalan (yaitu dengan set).

-V vi Aktifkan built-in vi(1) editor baris perintah (nonaktifkan -E jika ada
telah ditetapkan).

-E emacs Aktifkan built-in emacs(1) editor baris perintah (nonaktifkan -V jika
telah di atur).

-b memberitahukan Aktifkan pemberitahuan asinkron tentang penyelesaian pekerjaan latar belakang.
(TIDAK DITERAPKAN untuk 4.4alpha)

-p priv Jangan mencoba mengatur ulang uid efektif jika tidak cocok dengan uid. Ini
tidak diatur secara default untuk membantu menghindari penggunaan yang salah oleh root setuid
program melalui sistem(3) atau buka(3).

Leksikal Structure
Shell membaca input dalam bentuk baris dari file dan memecahnya menjadi kata-kata di
spasi (kosong dan tab), dan pada urutan karakter tertentu yang khusus untuk
shell yang disebut "operator". Ada dua jenis operator: operator kontrol dan
operator redirection (artinya dibahas nanti). Berikut daftar operatornya:

Operator kontrol:
& && ( ) ; ;; | ||

Operator pengalihan:
< > >| << >> <& >& <<- <>

Mengutip
Mengutip digunakan untuk menghilangkan arti khusus dari karakter atau kata tertentu pada shell,
seperti operator, spasi, atau kata kunci. Ada tiga jenis kutipan: cocok
tanda kutip tunggal, tanda kutip ganda yang cocok, dan garis miring terbalik.

Backslash
Garis miring terbalik mempertahankan arti literal dari karakter berikut, dengan pengecualian
⟨garis baru⟩. Garis miring terbalik sebelum 'baris baru' diperlakukan sebagai kelanjutan garis.

Tunggal Tanda kutip
Melampirkan karakter dalam tanda kutip tunggal mempertahankan arti literal dari semua karakter
(kecuali tanda kutip tunggal, sehingga tidak mungkin untuk menempatkan tanda kutip tunggal dalam string tanda kutip tunggal).

Dua kali lipat Tanda kutip
Melampirkan karakter dalam tanda kutip ganda mempertahankan arti literal dari semua karakter
kecuali tanda dolar ($), kutipan balik (`), dan garis miring terbalik (\). Garis miring terbalik di dalam tanda kutip ganda
secara historis aneh, dan hanya mengutip karakter berikut:
$ `" \ .
Kalau tidak, itu tetap literal.

Pendiam Kata-kata
Kata-kata yang dicadangkan adalah kata-kata yang memiliki arti khusus pada cangkang dan dikenali pada
awal baris dan setelah operator kontrol. Berikut ini adalah kata-kata yang dicadangkan:

! elif fi sementara kasus
lain untuk kemudian {}
lakukan sampai jika esac

Arti mereka dibahas kemudian.

alias
Alias ​​​​adalah nama dan nilai yang sesuai yang ditetapkan menggunakan alias(1) perintah bawaan. Kapan pun
kata yang dicadangkan dapat terjadi (lihat di atas), dan setelah memeriksa kata-kata yang dicadangkan, shell
memeriksa kata untuk melihat apakah itu cocok dengan alias. Jika ya, itu menggantikannya di input
mengalir dengan nilainya. Misalnya, jika ada alias bernama “lf” dengan nilai “ls
-F”, maka masukannya:

Jika foobar kembali⟩

akan menjadi

ls -F foobar kembali⟩

Alias ​​​​menyediakan cara mudah bagi pengguna yang naif untuk membuat singkatan untuk perintah tanpa
harus belajar cara membuat fungsi dengan argumen. Mereka juga dapat digunakan untuk membuat
kode yang tidak jelas secara leksikal. Penggunaan ini tidak dianjurkan.

Perintah
Shell menafsirkan kata-kata yang dibacanya sesuai dengan bahasa, yang spesifikasinya
berada di luar cakupan halaman manual ini (lihat BNF dalam dokumen POSIX 1003.2).
Namun pada dasarnya, sebuah baris dibaca dan jika kata pertama dari baris tersebut (atau setelah kontrol
operator) bukan kata yang dicadangkan, maka shell telah mengenali perintah sederhana.
Jika tidak, perintah kompleks atau konstruksi khusus lainnya mungkin telah dikenali.

Sederhana Perintah
Jika perintah sederhana telah dikenali, shell melakukan tindakan berikut:

1. Kata-kata utama dalam bentuk “nama=nilai” dihilangkan dan dimasukkan ke dalam
lingkungan dari perintah sederhana. Operator pengalihan dan argumennya (sebagai
dijelaskan di bawah) dilucuti dan disimpan untuk diproses.

2. Kata-kata yang tersisa diperluas seperti yang dijelaskan di bagian yang disebut "Ekspansi",
dan kata pertama yang tersisa dianggap sebagai nama perintah dan perintahnya adalah
terletak. Kata-kata yang tersisa dianggap sebagai argumen dari perintah. Jika tidak
nama perintah dihasilkan, maka penetapan variabel "nama = nilai" dikenali di
item 1 mempengaruhi shell saat ini.

3. Pengalihan dilakukan seperti yang dijelaskan di bagian berikutnya.

pengalihan
Pengalihan digunakan untuk mengubah tempat perintah membaca inputnya atau mengirim outputnya. Di dalam
umum, pengalihan membuka, menutup, atau menduplikasi referensi yang ada ke file. NS
format keseluruhan yang digunakan untuk redirection adalah:

[tidak] redir-op fillet

dimana redir-op adalah salah satu operator redirection yang disebutkan sebelumnya. Berikut ini adalah
daftar kemungkinan pengalihan. [n] adalah nomor opsional, seperti pada '3' (bukan '[3]'),
yang mengacu pada deskriptor file.

[n]> file Redirect output standar (atau n) ke file.

[n]>| file Sama, tetapi timpa -C .

[n]>> file Tambahkan output standar (atau n) ke file.

[n]< file Redirect input standar (atau n) dari file.

[n1]<&n2 Duplikat input standar (atau n1) dari deskriptor file n2.

[n]<&- Tutup input standar (atau n).

[n1]>&n2 Gandakan output standar (atau n1) ke n2.

[n]>&- Tutup output standar (atau n).

[n]<> file Buka file untuk membaca dan menulis pada input standar (atau n).

Pengalihan berikut sering disebut "dokumen di sini".

[n]<< pembatas
di sini-dok-teks ...
pembatas

Semua teks pada baris berturut-turut hingga pembatas disimpan dan tersedia untuk
perintah pada input standar, atau deskriptor file n jika ditentukan. Jika pembatas sebagai
ditentukan pada baris awal dikutip, maka di sini-doc-text diperlakukan secara harfiah,
jika tidak, teks dikenakan ekspansi parameter, substitusi perintah, dan aritmatika
ekspansi (seperti yang dijelaskan di bagian "Ekspansi"). Jika operatornya adalah “<<-” sebagai gantinya
dari “<<”, maka tab utama di teks dokumen-disini dilucuti.

Pencarian dan Execution
Ada tiga jenis perintah: fungsi shell, perintah bawaan, dan program normal --
dan perintah dicari (berdasarkan nama) dalam urutan itu. Mereka masing-masing dieksekusi dalam a
cara yang berbeda.

Ketika fungsi shell dijalankan, semua parameter posisi shell (kecuali $0, yang
tetap tidak berubah) disetel ke argumen fungsi shell. Variabel yang
ditempatkan secara eksplisit di lingkungan perintah (dengan menempatkan tugas kepada mereka sebelumnya
nama fungsi) dibuat lokal ke fungsi dan disetel ke nilai yang diberikan. Kemudian
perintah yang diberikan dalam definisi fungsi dijalankan. Parameter posisi adalah
dikembalikan ke nilai aslinya ketika perintah selesai. Ini semua terjadi dalam
cangkang saat ini.

Shell builtin dieksekusi secara internal ke shell, tanpa memunculkan proses baru.

Jika tidak, jika nama perintah tidak cocok dengan fungsi atau bawaan, perintah akan dicari
untuk sebagai program normal dalam sistem file (seperti yang dijelaskan di bagian berikutnya). Ketika sebuah
program normal dijalankan, shell menjalankan program, meneruskan argumen dan
lingkungan ke dalam program. Jika program bukan file executable normal (yaitu, jika
tidak dimulai dengan "angka ajaib" yang representasi ASCII-nya adalah "#!", jadi eksekutif(2)
mengembalikan ENOEXEC kemudian) shell akan menginterpretasikan program dalam subkulit. Cangkang anak
akan menginisialisasi ulang dirinya sendiri dalam kasus ini, sehingga efeknya akan seperti cangkang baru telah
dipanggil untuk menangani skrip shell ad-hoc, kecuali bahwa lokasi perintah hash
terletak di shell induk akan diingat oleh anak.

Perhatikan bahwa versi sebelumnya dari dokumen ini dan kode sumber itu sendiri menyesatkan dan
secara sporadis merujuk ke skrip shell tanpa angka ajaib sebagai "prosedur shell".

xtra Pencarian
Saat menemukan perintah, shell pertama-tama melihat apakah ia memiliki fungsi shell dengan itu
nama. Kemudian mencari perintah bawaan dengan nama itu. Jika perintah bawaan tidak ditemukan,
salah satu dari dua hal terjadi:

1. Nama perintah yang mengandung garis miring hanya dieksekusi tanpa melakukan pencarian apa pun.

2. Shell mencari setiap entri di PATH secara bergantian untuk perintah tersebut. Nilai PATH
variabel harus berupa serangkaian entri yang dipisahkan oleh titik dua. Setiap entri terdiri dari
nama direktori. Direktori saat ini dapat ditunjukkan secara implisit dengan tanda kosong
nama direktori, atau secara eksplisit dengan satu periode.

perintah Exit Status
Setiap perintah memiliki status keluar yang dapat memengaruhi perilaku perintah shell lainnya.
Paradigmanya adalah bahwa perintah keluar dengan nol untuk normal atau sukses, dan bukan nol untuk
kegagalan, kesalahan, atau indikasi palsu. Halaman manual untuk setiap perintah harus menunjukkan
berbagai kode keluar dan apa artinya. Selain itu, perintah bawaan kembali keluar
kode, seperti halnya fungsi shell yang dieksekusi.

Jika perintah seluruhnya terdiri dari penugasan variabel maka status keluar dari perintah
adalah substitusi perintah terakhir jika ada, jika tidak 0.

Kompleks Perintah
Perintah kompleks adalah kombinasi dari perintah sederhana dengan operator kontrol atau dicadangkan
kata-kata, bersama-sama menciptakan perintah kompleks yang lebih besar. Secara umum, perintah adalah salah satu dari
sebagai berikut:

· perintah sederhana

· pipa saluran

· daftar atau daftar majemuk

· perintah gabungan

· definisi fungsi

Kecuali dinyatakan lain, status keluar dari suatu perintah adalah dari perintah sederhana terakhir
dieksekusi oleh perintah.

Jaringan pipa
Pipeline adalah urutan dari satu atau lebih perintah yang dipisahkan oleh operator kontrol |. NS
output standar dari semua kecuali perintah terakhir terhubung ke input standar berikutnya
memerintah. Output standar dari perintah terakhir diwarisi dari shell, seperti biasa.

Format untuk pipa adalah:

[!] perintah1 [| perintah2 ...]

Output standar command1 terhubung ke input standar command2. NS
input standar, output standar, atau keduanya dari suatu perintah dianggap ditetapkan oleh
pipa sebelum pengalihan apa pun yang ditentukan oleh operator pengalihan yang merupakan bagian dari
perintah.

Jika pipa tidak di latar belakang (dibahas nanti), shell menunggu semua perintah
untuk menyelesaikan.

Jika kata yang dicadangkan ! tidak mendahului pipa, status keluar adalah status keluar dari
perintah terakhir yang ditentukan dalam pipa. Jika tidak, status keluar adalah logika NOT
dari status keluar dari perintah terakhir. Artinya, jika perintah terakhir mengembalikan nol, pintu keluar
statusnya adalah 1; jika perintah terakhir kembali lebih besar dari nol, status keluar adalah nol.

Karena penetapan pipa input standar atau output standar atau keduanya terjadi sebelumnya
redirection, dapat dimodifikasi dengan redirection. Sebagai contoh:

$ perintah1 2>&1 | perintah2

mengirimkan output standar dan kesalahan standar dari command1 ke input standar
perintah2.

A ; atau terminator 'baris baru' menyebabkan daftar DAN-ATAU sebelumnya (dijelaskan berikutnya) dieksekusi
berurutan; a & menyebabkan eksekusi asinkron dari daftar DAN-ATAU sebelumnya.

Perhatikan bahwa tidak seperti beberapa shell lainnya, setiap proses dalam pipa adalah anak dari pemanggilan
shell (kecuali itu adalah shell builtin, dalam hal ini dijalankan di shell saat ini -- tapi
efeknya terhadap lingkungan dihapus).

Latar Belakang Perintah -- &
Jika sebuah perintah diakhiri oleh operator kontrol ampersand (&), shell mengeksekusi perintah
perintah secara tidak sinkron -- yaitu, shell tidak menunggu perintah selesai sebelum
menjalankan perintah berikutnya.

Format untuk menjalankan perintah di latar belakang adalah:

perintah1 & [perintah2 & ...]

Jika shell tidak interaktif, input standar dari perintah asinkron diatur ke
/ dev / null.

daftar -- Umumnya Berbicara
Daftar adalah urutan nol atau lebih perintah yang dipisahkan oleh baris baru, titik koma, atau
ampersands, dan secara opsional diakhiri oleh salah satu dari tiga karakter ini. Perintah dalam a
list dieksekusi sesuai urutan penulisannya. Jika perintah diikuti oleh ampersand,
shell memulai perintah dan segera melanjutkan ke perintah berikutnya; selain itu
menunggu perintah untuk mengakhiri sebelum melanjutkan ke yang berikutnya.

Hubungan arus pendek Daftar Operator
“&&” dan “||” adalah operator daftar DAN-ATAU. "&&" mengeksekusi perintah pertama, dan kemudian mengeksekusi
perintah kedua jika status keluar dari perintah pertama adalah nol. “||” mirip, tapi
mengeksekusi perintah kedua jika status keluar dari perintah pertama bukan nol. "&&" dan
“||” keduanya memiliki prioritas yang sama.

Alur kontrol Konstruksi -- jika, sementara, untuk, kasus
Sintaks dari perintah if adalah

jika daftar
lalu daftar
[daftar elif
lalu daftar] ...
[daftar lain]
fi

Sintaks dari perintah while adalah

daftar sementara
lakukan daftar
dilakukan

Kedua daftar dieksekusi berulang kali sementara status keluar dari daftar pertama adalah nol. NS
sampai perintah mirip, tetapi memiliki kata sampai di tempat sementara, yang menyebabkannya
ulangi sampai status keluar dari daftar pertama adalah nol.

Sintaks dari perintah for adalah

untuk variabel [ di [ kata ... ] ]
lakukan daftar
dilakukan

Kata-kata berikut in diperluas, dan kemudian daftar dieksekusi berulang kali dengan
variabel diatur untuk setiap kata secara bergantian. Menghilangkan kata ... sama dengan di "$@".

Sintaks dari perintah break dan continue adalah

istirahat [ nomor ]
lanjutkan [ nomor ]

Break mengakhiri num yang paling dalam untuk atau while loop. Lanjutkan berlanjut dengan yang berikutnya
iterasi loop terdalam. Ini diimplementasikan sebagai perintah bawaan.

Sintaks dari perintah case adalah

kata kasus di
[(]pola) daftar ;;
...
esac

Pola sebenarnya bisa menjadi satu atau lebih pola (lihat Kulit Pola dijelaskan kemudian),
dipisahkan oleh “|” karakter. Karakter “(” sebelum pola adalah opsional.

Pengelompokan Perintah Bersama
Perintah dapat dikelompokkan dengan menulis baik

(Daftar)

or

{ Daftar; }

Yang pertama mengeksekusi perintah dalam subkulit. Perintah bawaan dikelompokkan menjadi a
(daftar) tidak akan mempengaruhi shell saat ini. Bentuk kedua tidak memotong cangkang lain begitu juga
sedikit lebih efisien. Mengelompokkan perintah bersama-sama dengan cara ini memungkinkan Anda untuk mengarahkan kembali
output seolah-olah mereka adalah satu program:

{printf"halo"; printf "dunia\n" ; } > salam

Perhatikan bahwa "}" harus mengikuti operator kontrol (di sini, ";") sehingga dikenali sebagai
kata yang dicadangkan dan bukan sebagai argumen perintah lain.

Fungsi
Sintaks dari definisi fungsi adalah

nama () perintah

Definisi fungsi adalah pernyataan yang dapat dieksekusi; ketika dijalankan itu menginstal fungsi bernama
nama dan mengembalikan status keluar dari nol. Perintah biasanya berupa daftar yang terlampir di antara
"{" dan "}".

Variabel dapat dideklarasikan sebagai lokal ke suatu fungsi dengan menggunakan perintah lokal. Ini seharusnya
muncul sebagai pernyataan pertama dari suatu fungsi, dan sintaksnya adalah

lokal [variabel | -] ...

Lokal diimplementasikan sebagai perintah bawaan.

Ketika sebuah variabel dibuat lokal, itu mewarisi nilai awal dan mengekspor dan hanya membaca bendera
dari variabel dengan nama yang sama di lingkup sekitarnya, jika ada. Sebaliknya,
variabel awalnya tidak disetel. Shell menggunakan pelingkupan dinamis, sehingga jika Anda membuat
variabel x lokal ke fungsi f, yang kemudian memanggil fungsi g, referensi ke variabel x
dibuat di dalam g akan merujuk ke variabel x yang dideklarasikan di dalam f, bukan ke variabel global
bernama x.

Satu-satunya parameter khusus yang dapat dibuat lokal adalah “-”. Membuat "-" lokal shell apa pun
opsi yang diubah melalui perintah set di dalam fungsi untuk dikembalikan ke
nilai asli saat fungsi kembali.

Sintaks dari perintah return adalah

kembali [status keluar]

Ini mengakhiri fungsi yang sedang dijalankan. Kembali diimplementasikan sebagai perintah bawaan.

Variabel dan Parameters
Shell mempertahankan satu set parameter. Parameter yang dilambangkan dengan nama disebut a
variabel. Saat memulai, shell mengubah semua variabel lingkungan menjadi shell
variabel. Variabel baru dapat diatur menggunakan formulir

nama=nilai

Variabel yang ditetapkan oleh pengguna harus memiliki nama yang hanya terdiri dari alfabet, angka, dan
garis bawah - yang pertama tidak boleh berupa angka. Sebuah parameter juga dapat dilambangkan dengan a
nomor atau karakter khusus seperti yang dijelaskan di bawah ini.

Posisi Parameters
Parameter posisi adalah parameter yang dilambangkan dengan angka (n > 0). Shell mengatur ini
awalnya ke nilai argumen baris perintahnya yang mengikuti nama shell
naskah. NS set builtin juga dapat digunakan untuk mengatur atau meresetnya.

Khusus Parameters
Parameter khusus adalah parameter yang dilambangkan dengan salah satu karakter khusus berikut. NS
nilai parameter tercantum di sebelah karakternya.

* Perluas ke parameter posisi, mulai dari satu. Ketika ekspansi
terjadi dalam string yang dikutip ganda itu diperluas ke satu bidang dengan
nilai setiap parameter dipisahkan oleh karakter pertama dari variabel IFS,
atau dengan spasi⟩ jika IFS tidak disetel.

@ Perluas ke parameter posisi, mulai dari satu. Ketika ekspansi
terjadi dalam tanda kutip ganda, setiap parameter posisi diperluas sebagai terpisah
argumen. Jika tidak ada parameter posisi, ekspansi @ menghasilkan
argumen nol, bahkan ketika @ dikutip ganda. Apa artinya ini pada dasarnya, untuk
contoh, jika $1 adalah “abc” dan $2 adalah “def ghi”, maka "$@" diperluas ke dua
argumen:

"abc" "def ghi"

# Perluas ke jumlah parameter posisi.

? Memperluas ke status keluar dari pipeline terbaru.

- (Hyphen.) Perluas ke flag opsi saat ini (nama opsi satu huruf
digabungkan menjadi string) seperti yang ditentukan pada doa, oleh set builtin
perintah, atau secara implisit oleh shell.

$ Memperluas ke ID proses dari shell yang dipanggil. Sebuah subkulit tetap sama
nilai $ sebagai induknya.

! Perluas ke ID proses dari perintah latar belakang terbaru yang dijalankan dari
cangkang saat ini. Untuk pipeline, ID proses adalah dari perintah terakhir
di dalam pipa.

0 (Nol.) Perluas ke nama shell atau skrip shell.

Word Ekspansi
Klausa ini menjelaskan berbagai ekspansi yang dilakukan pada kata-kata. Tidak semua
ekspansi dilakukan pada setiap kata, seperti yang akan dijelaskan nanti.

Ekspansi tilde, ekspansi parameter, substitusi perintah, ekspansi aritmatika, dan
penghapusan kutipan yang terjadi dalam satu kata diperluas ke satu bidang. Ini hanya lapangan
pemisahan atau perluasan nama jalur yang dapat membuat beberapa bidang dari satu kata. NS
pengecualian tunggal untuk aturan ini adalah perluasan parameter khusus @ dalam double-
kutipan, seperti yang dijelaskan di atas.

Urutan perluasan kata adalah:

1. Ekspansi Tilde, Ekspansi Parameter, Substitusi Perintah, Ekspansi Aritmatika (ini
semua terjadi pada waktu yang sama).

2. Pemisahan Bidang dilakukan pada bidang yang dihasilkan oleh langkah (1) kecuali jika variabel IFS adalah
batal.

3. Ekspansi Pathname (kecuali disetel -f sedang berlaku).

4. Penghapusan Kutipan.

Karakter $ digunakan untuk memperkenalkan ekspansi parameter, substitusi perintah, atau
evaluasi aritmatika.

Tilde Perluasan (menggantikan a pengguna rumah direktori)
Sebuah kata yang dimulai dengan karakter tilde tanpa tanda kutip (~) akan mengalami ekspansi tilde. Semua
karakter hingga garis miring (/) atau akhir kata diperlakukan sebagai nama pengguna dan adalah
diganti dengan direktori home pengguna. Jika nama pengguna tidak ada (seperti pada ~/foobar), Yang
tilde diganti dengan nilai HOME variabel (direktori home pengguna saat ini).

Parameter Perluasan
Format untuk ekspansi parameter adalah sebagai berikut:

${ekspresi}

di mana ekspresi terdiri dari semua karakter hingga pencocokan "}". Setiap "}" lolos dengan
garis miring terbalik atau di dalam string yang dikutip, dan karakter dalam ekspansi aritmatika yang disematkan,
substitusi perintah, dan ekspansi variabel, tidak diperiksa dalam menentukan pencocokan
"}".

Bentuk paling sederhana untuk ekspansi parameter adalah:

${parameter}

Nilai, jika ada, parameter diganti.

Nama parameter atau simbol dapat diapit dengan kurung kurawal, yang opsional kecuali untuk
parameter posisi dengan lebih dari satu digit atau ketika parameter diikuti oleh karakter
yang dapat diartikan sebagai bagian dari nama. Jika ekspansi parameter terjadi di dalam
kutipan ganda:

1. Ekspansi pathname tidak dilakukan pada hasil ekspansi.

2. Pemekaran lapangan tidak dilakukan pada hasil pemuaian, kecuali untuk
@.

Selain itu, perluasan parameter dapat dimodifikasi dengan menggunakan salah satu format berikut.

${parameter:-word} Gunakan Nilai Default. Jika parameter tidak disetel atau nol, perluasan dari
kata diganti; jika tidak, nilai parameter diganti.

${parameter:=word} Tetapkan Nilai Default. Jika parameter tidak disetel atau nol, ekspansi
dari kata ditugaskan ke parameter. Dalam semua kasus, nilai akhir dari
parameternya diganti. Hanya variabel, bukan parameter posisi
atau parameter khusus, dapat ditetapkan dengan cara ini.

${parameter:?[word]} Menunjukkan Kesalahan jika Null atau Unset. Jika parameter tidak disetel atau nol,
perluasan kata (atau pesan yang menunjukkan itu tidak disetel jika kata adalah
dihilangkan) ditulis ke kesalahan standar dan shell keluar dengan a
status keluar bukan nol. Jika tidak, nilai parameternya adalah
diganti. Shell interaktif tidak perlu keluar.

${parameter:+word} Gunakan Nilai Alternatif. Jika parameter tidak disetel atau nol, nol adalah
diganti; jika tidak, perluasan kata diganti.

Dalam perluasan parameter yang ditunjukkan sebelumnya, penggunaan titik dua dalam format menghasilkan a
menguji parameter yang tidak disetel atau nol; kelalaian dari hasil usus besar dalam tes untuk a
parameter yang hanya tidak disetel.

${#parameter} Panjang String. Panjang dalam karakter nilai parameter.

Empat jenis ekspansi parameter berikut menyediakan pemrosesan substring. Di dalam
setiap kasus, notasi pencocokan pola (lihat Kulit Pola), daripada ekspresi reguler
notasi, digunakan untuk mengevaluasi pola. Jika parameternya adalah * atau @, hasil dari
ekspansi tidak ditentukan. Melampirkan string ekspansi parameter lengkap dalam tanda kutip ganda
tidak menyebabkan empat jenis karakter pola berikut dikutip, sedangkan
mengutip karakter dalam kurung memiliki efek ini.

${parameter%word} Hapus Pola Sufiks Terkecil. Kata tersebut diperluas untuk menghasilkan a
pola. Ekspansi parameter kemudian menghasilkan parameter, dengan
bagian terkecil dari sufiks yang cocok dengan pola yang dihapus.

${parameter%%word} Hapus Pola Sufiks Terbesar. Kata tersebut diperluas untuk menghasilkan a
pola. Ekspansi parameter kemudian menghasilkan parameter, dengan
bagian terbesar dari sufiks yang cocok dengan pola yang dihapus.

${parameter#word} Hapus Pola Awalan Terkecil. Kata tersebut diperluas untuk menghasilkan a
pola. Ekspansi parameter kemudian menghasilkan parameter, dengan
bagian terkecil dari awalan yang cocok dengan pola yang dihapus.

${parameter##word} Hapus Pola Awalan Terbesar. Kata tersebut diperluas untuk menghasilkan a
pola. Ekspansi parameter kemudian menghasilkan parameter, dengan
bagian terbesar dari awalan yang cocok dengan pola yang dihapus.

perintah Substitusi
Substitusi perintah memungkinkan output dari sebuah perintah untuk diganti di tempat
nama perintah itu sendiri. Substitusi perintah terjadi ketika perintah dilampirkan sebagai berikut:

$(perintah)

atau ("versi backquoted"):

`perintah`

Shell memperluas substitusi perintah dengan menjalankan perintah di lingkungan subkulit
dan mengganti substitusi perintah dengan output standar dari perintah, menghapus
urutan satu atau lebih 'baris baru' di akhir substitusi. (baris baru⟩ tersemat
sebelum akhir output tidak dihapus; Namun, selama pemisahan lapangan, mereka mungkin
diterjemahkan ke dalam spasi, tergantung pada nilai IFS dan kutipan yang berlaku.)

Hitung Perluasan
Ekspansi aritmatika menyediakan mekanisme untuk mengevaluasi ekspresi aritmatika dan
menggantikan nilainya. Format untuk ekspansi aritmatika adalah sebagai berikut:

$((ekspresi))

Ekspresi diperlakukan seolah-olah dalam tanda kutip ganda, kecuali tanda kutip ganda di dalamnya
ekspresi tidak diperlakukan secara khusus. Shell memperluas semua token dalam ekspresi untuk
ekspansi parameter, substitusi perintah, dan penghapusan kutipan.

Selanjutnya, shell memperlakukan ini sebagai ekspresi aritmatika dan menggantikan nilai
ekspresi.

Putih Space Pemisahan (Bidang Pemisahan)
Setelah ekspansi parameter, substitusi perintah, dan ekspansi aritmatika, shell memindai
hasil pemuaian dan substitusi yang tidak terjadi pada tanda petik ganda untuk field
pemisahan dan beberapa bidang dapat dihasilkan.

Shell memperlakukan setiap karakter IFS sebagai pembatas dan menggunakan pembatas untuk membagi
hasil ekspansi parameter dan substitusi perintah ke dalam field.

Nama jalur Perluasan (Mengajukan Nama Generasi)
Kecuali jika -f flag diatur, pembuatan nama file dilakukan setelah pemisahan kata adalah
menyelesaikan. Setiap kata dipandang sebagai rangkaian pola, dipisahkan oleh garis miring. Proses
ekspansi menggantikan kata dengan nama semua file yang ada yang namanya dapat
dibentuk dengan mengganti setiap pola dengan string yang cocok dengan pola yang ditentukan. Di sana
ada dua batasan dalam hal ini: pertama, sebuah pola tidak dapat mencocokkan string yang berisi garis miring, dan
kedua, suatu pola tidak dapat mencocokkan string yang dimulai dengan titik kecuali karakter pertama dari
polanya adalah periode. Bagian selanjutnya menjelaskan pola yang digunakan untuk kedua Pathname
Ekspansi dan kasus perintah.

Kulit Pola
Sebuah pola terdiri dari karakter normal, yang cocok dengan dirinya sendiri, dan meta-karakter. NS
meta-karakter adalah "!", "*", "?", dan "[". Karakter-karakter ini kehilangan arti khusus mereka jika
mereka dikutip. Ketika perintah atau substitusi variabel dilakukan dan tanda dolar atau
tanda kutip kembali tidak dikutip ganda, nilai variabel atau output dari perintah adalah
dipindai untuk karakter ini dan mereka berubah menjadi meta-karakter.

Tanda bintang (“*”) cocok dengan string karakter apa pun. Tanda tanya cocok dengan single mana pun
karakter. Tanda kurung kiri (“[”) memperkenalkan kelas karakter. Akhir dari karakter
kelas dilambangkan dengan a (“]”); jika "]" tidak ada maka "[" cocok dengan "[" daripada
memperkenalkan kelas karakter. Kelas karakter cocok dengan salah satu karakter di antara
tanda kurung siku. Rentang karakter dapat ditentukan menggunakan tanda minus. karakter
kelas dapat dilengkapi dengan membuat tanda seru sebagai karakter pertama dari
kelas karakter.

Untuk memasukkan "]" dalam kelas karakter, buatlah karakter pertama yang terdaftar (setelah "!", jika
setiap). Untuk menyertakan tanda minus, buatlah menjadi karakter pertama atau terakhir yang terdaftar.

bawaan
Bagian ini mencantumkan perintah bawaan yang bawaan karena mereka perlu melakukan beberapa
operasi yang tidak dapat dilakukan oleh proses yang terpisah. Selain ini, ada
beberapa perintah lain yang mungkin dibangun untuk efisiensi (mis Printf(1) gema(1)
uji(1), dll).

:

true Perintah null yang mengembalikan nilai keluar 0 (benar).

. mengajukan
Perintah dalam file yang ditentukan dibaca dan dieksekusi oleh shell.

alias [nama[= string ...]]
If nama = string ditentukan, shell mendefinisikan alias nama dengan nilai string. Jika
hanya nama ditentukan, nilai alias nama dicetak. Tanpa argumen,
itu alias builtin mencetak nama dan nilai semua alias yang ditentukan (lihat Unalias).

bg [pekerjaan] ...
Lanjutkan pekerjaan yang ditentukan (atau pekerjaan saat ini jika tidak ada pekerjaan yang diberikan) di
latar belakang.

memerintah [-p] [-v] [-V] Command [arg ...]
Jalankan perintah yang ditentukan tetapi abaikan fungsi shell saat mencarinya.
(Ini berguna ketika Anda memiliki fungsi shell dengan nama yang sama dengan builtin
memerintah.)

-p cari perintah menggunakan PATH yang menjamin untuk menemukan semua standar
utilitas.

-V Jangan jalankan perintah tetapi cari perintah dan cetak resolusinya
dari pencarian perintah. Ini sama dengan tipe bawaan.

-v Jangan jalankan perintah tetapi cari perintah dan cetak yang absolut
pathname dari utilitas, nama untuk builtin atau perluasan alias.

cd -

CD [-LP] [direktori]
Beralih ke direktori yang ditentukan (HOME default). Jika entri untuk CDPATH muncul di
lingkungan dari cd perintah atau variabel shell CDPATH diatur dan
nama direktori tidak dimulai dengan garis miring, maka direktori yang terdaftar di CDPATH
akan mencari direktori yang ditentukan. Format CDPATH sama dengan
yaitu PATH. Jika tanda hubung tunggal ditentukan sebagai argumen, itu akan digantikan oleh
nilai OLDPWD. NS cd perintah akan mencetak nama direktori itu
sebenarnya beralih ke jika ini berbeda dari nama yang diberikan pengguna. Ini
mungkin berbeda karena mekanisme CDPATH digunakan atau karena argumen
adalah tanda hubung tunggal. NS -P opsi menyebabkan struktur direktori fisik digunakan,
yaitu, semua tautan simbolik diselesaikan ke nilainya masing-masing. NS -L Option
mematikan efek sebelumnya -P Pilihan.

gema [-n] argumen...
Cetak argumen pada output standar, dipisahkan dengan spasi. Kecuali jika -n
opsi hadir, baris baru adalah output mengikuti argumen.

Jika salah satu dari urutan karakter berikut ditemukan selama output,
urutan tidak keluar. Sebagai gantinya, tindakan yang ditentukan dilakukan:

\b Karakter backspace adalah output.

\c Output berikutnya ditekan. Ini biasanya digunakan di akhir
argumen terakhir untuk menekan baris baru yang tertinggal itu gema akan sebaliknya
output.

\f Keluarkan umpan formulir.

\n Keluarkan karakter baris baru.

\r Keluarkan carriage return.

\t Keluarkan karakter tab (horizontal).

\v Keluarkan tab vertikal.

\0digit
Keluarkan karakter yang nilainya diberikan oleh nol hingga tiga digit oktal. Jika
ada nol digit, karakter nul adalah output.

\\ Keluarkan garis miring terbalik.

Semua urutan garis miring terbalik lainnya menghasilkan perilaku yang tidak terdefinisi.

evaluasi string ...
Gabungkan semua argumen dengan spasi. Kemudian parsing ulang dan jalankan perintah.

eksekutif [Command arg ...]
Kecuali jika perintah dihilangkan, proses shell diganti dengan program yang ditentukan
(yang harus berupa program nyata, bukan shell atau fungsi bawaan). Setiap pengalihan aktif
itu eksekutif perintah ditandai sebagai permanen, sehingga tidak dibatalkan saat eksekutif
perintah selesai.

keluar [status keluar]
Hentikan proses shell. Jika status keluar diberikan itu digunakan sebagai status keluar dari
kerang; jika tidak, status keluar dari perintah sebelumnya digunakan.

ekspor nama ...

ekspor -p
Nama-nama yang ditentukan diekspor sehingga akan muncul di lingkungan
perintah-perintah selanjutnya. Satu-satunya cara untuk membatalkan ekspor variabel adalah dengan menghapusnya. Kerang
memungkinkan nilai variabel diatur pada saat yang sama diekspor dengan menulis

nama ekspor = nilai

Tanpa argumen, perintah ekspor mencantumkan nama semua variabel yang diekspor. Dengan
itu -p opsi yang ditentukan, output akan diformat sesuai untuk non-interaktif
digunakan.

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

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

fc -s [lama = baru] [pertama]
fc daftar bawaan, atau edit dan eksekusi ulang, perintah yang sebelumnya dimasukkan ke
cangkang interaktif.

-e editor
Gunakan editor bernama editor untuk mengedit perintah. String editor adalah
nama perintah, tunduk pada pencarian melalui variabel PATH. Nilai dalam
Variabel FCEDIT digunakan sebagai default ketika -e tidak ditentukan. Jika FCEDIT adalah
null atau tidak disetel, nilai variabel EDITOR digunakan. Jika EDITOR adalah nol atau
tidak disetel, ed(1) digunakan sebagai editor.

-l (elo)
Buat daftar perintah daripada meminta editor pada mereka. Perintahnya adalah
ditulis dalam urutan yang ditunjukkan oleh operan pertama dan terakhir, seperti yang terpengaruh
by -r, dengan setiap perintah didahului dengan nomor perintah.

-n Tekan nomor perintah saat mendaftar dengan -l.

-r Membalikkan urutan perintah yang terdaftar (dengan -l) atau diedit (tanpa keduanya -l
maupun -s).

-s Jalankan kembali perintah tanpa menggunakan editor.

pertama

last Pilih perintah yang akan dicantumkan atau diedit. Jumlah perintah sebelumnya yang dapat
diakses ditentukan oleh nilai variabel HISTSIZE. Nilai
pertama atau terakhir atau keduanya adalah salah satu dari berikut ini:

[+]nomor
Angka positif yang mewakili nomor perintah; nomor perintah bisa
ditampilkan dengan -l .

-jumlah
Angka desimal negatif yang mewakili perintah yang dieksekusi
jumlah perintah sebelumnya. Misalnya, -1 adalah segera
perintah sebelumnya.

string
String yang menunjukkan perintah yang paling baru dimasukkan yang dimulai dengan itu
rangkaian. Jika operan lama=baru juga tidak ditentukan dengan -s, bentuk string
dari operan pertama tidak dapat berisi tanda sama dengan yang disematkan.

Variabel lingkungan berikut mempengaruhi eksekusi fc:

FCEDIT Nama editor yang akan digunakan.

HISTSIZE Jumlah perintah sebelumnya yang dapat diakses.

fg [pekerjaan]
Pindahkan pekerjaan yang ditentukan atau pekerjaan saat ini ke latar depan.

getopt string pilihan adalah
POSIX getopt perintah, jangan bingung dengan Bel Labs -diberikan dapatkan opt(1).

Argumen pertama harus berupa serangkaian huruf, yang masing-masing mungkin opsional
diikuti oleh titik dua untuk menunjukkan bahwa opsi memerlukan argumen. Variabel
ditentukan diatur ke opsi yang diuraikan.

getopt perintah mencela yang lebih tua dapatkan opt(1) utilitas karena penanganannya terhadap
argumen yang mengandung spasi.

getopt builtin dapat digunakan untuk mendapatkan opsi dan argumennya dari daftar
parameter. Saat dipanggil, getopt menempatkan nilai opsi berikutnya dari
string opsi dalam daftar dalam variabel shell yang ditentukan oleh adalah dan indeksnya di
variabel shell OPTIND. Ketika shell dipanggil, OPTIND diinisialisasi ke 1. For
setiap opsi yang membutuhkan argumen, the getopt builtin akan menempatkannya di shell
variabel OPTARG. Jika opsi tidak diperbolehkan dalam string pilihan, maka OPTARG akan
tidak disetel.

string pilihan adalah serangkaian huruf opsi yang dikenali (lihat dapatkan opt(3)). Jika sebuah surat adalah
diikuti oleh titik dua, opsi diharapkan memiliki argumen yang mungkin atau mungkin tidak
dipisahkan oleh spasi putih. Jika karakter opsi tidak ditemukan di mana
diharapkan, getopt akan mengatur variabel adalah ke "?"; getopt kemudian akan menghapus OPTARG
dan menulis output ke kesalahan standar. Dengan menentukan titik dua sebagai karakter pertama dari
string pilihan semua kesalahan akan diabaikan.

Nilai bukan nol dikembalikan saat opsi terakhir tercapai. Jika tidak ada
argumen yang tersisa, getopt akan diatur adalah ke opsi khusus, "--", jika tidak, itu
akan diatur adalah ke "?".

Fragmen kode berikut menunjukkan bagaimana seseorang dapat memproses argumen untuk suatu perintah
yang dapat mengambil opsi [a] dan [b], dan opsi [c], yang membutuhkan
argumen.

sementara getopts abc: f
do
kasus $f masuk
sebuah | b) bendera=$f;;
c) kargo=$OPTARG;;
\?) echo $USAGE; keluar 1;;
esac
dilakukan
geser `expr $OPTIND - 1`

Kode ini akan menerima salah satu dari berikut ini sebagai setara:

cmd -carg file file
cmd -a -c file file arg
cmd -carg -file file
cmd -a -carg -- berkas berkas

hash -rv Command ...
Shell memelihara tabel hash yang mengingat lokasi perintah. Dengan tidak
argumen apa pun, hash perintah mencetak isi tabel ini.
Entri yang belum dilihat sejak terakhir cd perintah ditandai dengan
asterisk; ada kemungkinan entri ini tidak valid.

Dengan argumen, hash perintah menghapus perintah yang ditentukan dari tabel hash
(kecuali jika itu adalah fungsi) dan kemudian menempatkannya. Dengan -v opsi, cetakan hash
lokasi perintah saat menemukannya. NS -r opsi menyebabkan hash
perintah untuk menghapus semua entri dalam tabel hash kecuali untuk fungsi.

cacat [-LP]
perintah bawaan mengingat apa direktori saat ini daripada menghitung ulang itu
setiap kali. Ini membuatnya lebih cepat. Namun, jika direktori saat ini diubah namanya,
versi bawaan dari pwd akan terus mencetak nama lama untuk direktori tersebut. NS -P
opsi menyebabkan nilai fisik direktori kerja saat ini ditampilkan, itu
adalah, semua tautan simbolik diselesaikan ke nilainya masing-masing. NS -L pilihan berubah
dari efek sebelumnya -P Pilihan.

Baca [-p cepat] [-r] variabel [...]
Prompt dicetak jika -p opsi ditentukan dan input standar adalah a
terminal. Kemudian sebuah baris dibaca dari input standar. Baris baru yang tertinggal adalah
dihapus dari baris dan baris dibagi seperti yang dijelaskan di bagian kata
membelah di atas, dan potongan-potongan ditugaskan ke variabel secara berurutan. Setidaknya satu
variabel harus ditentukan. Jika ada lebih banyak potongan daripada variabel, sisanya
potongan (bersama dengan karakter di IFS yang memisahkannya) ditugaskan ke
variabel terakhir. Jika ada lebih banyak variabel daripada potongan, variabel yang tersisa adalah
ditugaskan string nol. NS Baca baca builtin akan menunjukkan keberhasilan kecuali EOF adalah
ditemui pada input, dalam hal ini kegagalan dikembalikan.

Secara default, kecuali -r opsi ditentukan, garis miring terbalik "\" bertindak sebagai pelarian
karakter, menyebabkan karakter berikut diperlakukan secara harfiah. Jika garis miring terbalik
diikuti oleh baris baru, garis miring terbalik dan baris baru akan dihapus.

dibaca saja nama ...

dibaca saja -p
Nama-nama yang ditentukan ditandai sebagai hanya-baca, sehingga tidak dapat selanjutnya
diubah atau tidak disetel. Shell memungkinkan nilai variabel disetel pada saat yang sama
waktu itu ditandai hanya baca dengan tulisan

readonly name=nilai

Tanpa argumen, perintah readonly mencantumkan nama semua variabel read only.
Dengan -p opsi yang ditentukan, output akan diformat sesuai untuk non-
penggunaan interaktif.

Printf format [argumen ...]
Printf memformat dan mencetak argumennya, setelah yang pertama, di bawah kendali
format. itu format adalah string karakter yang berisi tiga jenis objek:
karakter biasa, yang hanya disalin ke output standar, karakter melarikan diri
urutan yang dikonversi dan disalin ke output standar, dan format
spesifikasi, yang masing-masing menyebabkan pencetakan berturut-turut berikutnya argumen.

argumen setelah yang pertama diperlakukan sebagai string jika format yang sesuai adalah
antara b, c or s; jika tidak, itu dievaluasi sebagai konstanta C, dengan yang berikut:
ekstensi:

· Tanda plus atau minus di depan diperbolehkan.
· Jika karakter utama adalah kutipan tunggal atau ganda, nilainya adalah
Kode ASCII dari karakter berikutnya.

String format digunakan kembali sesering yang diperlukan untuk memenuhi argumen. Apa saja
spesifikasi format tambahan dievaluasi dengan nol atau string nol.

Urutan pelarian karakter dalam notasi garis miring terbalik seperti yang didefinisikan dalam ANSI X3.159-1989
(“ANSI C89”). Karakter dan artinya adalah sebagai berikut:

\a Menulis sebuah karakter.

\b Menulis sebuah karakter.

\f Menulis sebuah karakter.

\n Menulis sebuah karakter.

\r Menulis sebuah karakter.

\t Menulis sebuah karakter.

\v Menulis sebuah karakter.

\\ Tulis karakter garis miring terbalik.

\num Tulis karakter 8-bit yang nilai ASCII-nya adalah 1-, 2-, atau 3-digit
bilangan oktal num.

Setiap spesifikasi format diperkenalkan dengan karakter persen (``%''). NS
sisa spesifikasi format termasuk, dalam urutan berikut:

Nol atau lebih dari tanda berikut:

# Karakter `#' yang menentukan bahwa nilai harus dicetak dalam
'' bentuk alternatif ''. Untuk b, c, d, dan s format, opsi ini tidak memiliki
memengaruhi. Untuk o memformat ketepatan nomor ditingkatkan menjadi
memaksa karakter pertama dari string output ke nol. Untuk x
(X), hasil bukan nol memiliki string 0x (0X) di depannya.
Untuk e, E, f, g, dan G format, hasilnya akan selalu berisi
titik desimal, bahkan jika tidak ada angka yang mengikuti titik tersebut (biasanya, a
titik desimal hanya muncul dalam hasil format tersebut jika angka
mengikuti titik desimal). Untuk g dan G format, trailing zero adalah
tidak dihapus dari hasil seperti yang seharusnya.

- Tanda minus `-' yang menentukan meninggalkan pengaturan dari keluaran dalam
bidang yang ditunjukkan;

+ Karakter `+' yang menentukan bahwa harus selalu ada tanda yang ditempatkan
sebelum nomor saat menggunakan format yang ditandatangani.

' ' Spasi yang menentukan bahwa kosong harus dibiarkan sebelum positif
nomor untuk format yang ditandatangani. A `+' menimpa spasi jika keduanya
digunakan;

0 Karakter nol `0' yang menunjukkan bahwa bantalan nol harus digunakan
daripada blank-padding. A `-' menimpa `0' jika keduanya digunakan;

Lebar Bidang:
String digit opsional yang menentukan a bidang lebar; jika string keluaran memiliki
karakter lebih sedikit dari lebar bidang itu akan diisi kosong di sebelah kiri (atau
kanan, jika indikator penyesuaian kiri telah diberikan) untuk membuat bidang
lebar (perhatikan bahwa nol di depan adalah bendera, tetapi nol yang disematkan adalah bagian dari a
lebar bidang);

Presisi:
Periode opsional, '.', diikuti oleh string digit opsional yang memberikan a
ketelitian yang menentukan jumlah digit yang muncul setelah desimal
titik, untuk e dan f format, atau jumlah byte maksimum yang akan dicetak
Sebuah benang (b dan s format); jika string digit hilang, presisinya adalah
diperlakukan sebagai nol;

Format:
Karakter yang menunjukkan jenis format yang akan digunakan (salah satu dari
diouxXfwEgGbcs).

Lebar atau presisi bidang mungkin '*' alih-alih string digit. Dalam hal ini
argumen memasok lebar atau presisi bidang.

Format karakter dan artinya adalah:

diouXx argumen dicetak sebagai desimal bertanda (d atau i), oktal tidak bertanda,
desimal tak bertanda, atau heksadesimal tak bertanda (X atau x), masing-masing.

f argumen dicetak dengan gaya [-]ddd.ddd di mana jumlah d's
setelah titik desimal sama dengan spesifikasi presisi untuk
argumen. Jika presisi hilang, 6 digit diberikan; jika
presisi secara eksplisit 0, tidak ada digit dan tidak ada titik desimal yang dicetak.

eE argumen dicetak dengan gaya [-]d.ddde±dd di mana ada satu
angka sebelum koma dan angka sesudahnya sama dengan
spesifikasi presisi untuk argumen; ketika presisi hilang,
6 digit yang dihasilkan. Huruf besar E digunakan untuk format `E'.

gG argumen dicetak dengan gaya f atau dalam gaya e (E) mana yang memberi penuh
presisi dalam ruang minimum.

b Karakter dari string argumen dicetak dengan backslash-escape
urutan diperluas.
Urutan backslash-escape tambahan berikut didukung:

\c Global berlari untuk mengabaikan karakter yang tersisa dalam string
operan yang berisi itu, operan string yang tersisa, dan semua
karakter tambahan dalam format operan.

\0num Tulis karakter 8-bit yang nilai ASCII-nya adalah 1-, 2-, atau
3 digit bilangan oktal num.

c Karakter pertama dari argumen dicetak.

s Karakter dari string argumen dicetak sampai akhir tercapai
atau sampai jumlah byte yang ditunjukkan oleh spesifikasi presisi adalah
tercapai; jika presisi dihilangkan, semua karakter dalam string adalah
dicetak.

% Cetak `%'; tidak ada argumen yang digunakan.

Dalam kasus apa pun lebar bidang yang tidak ada atau kecil menyebabkan pemotongan bidang;
padding terjadi hanya jika lebar bidang yang ditentukan melebihi lebar sebenarnya.

mengatur [{ -pilihan | +opsi | -- }] arg ...
set perintah melakukan tiga fungsi yang berbeda.

Tanpa argumen, ini mencantumkan nilai semua variabel shell.

Jika opsi diberikan, itu menetapkan flag opsi yang ditentukan, atau menghapusnya seperti yang dijelaskan
di bagian yang disebut Argumen Daftar Pengolahan. Sebagai kasus khusus, jika opsinya adalah
-o atau +o dan tidak ada argumen yang diberikan, shell mencetak pengaturan semua nya
pilihan. Jika opsinya adalah -o, pengaturan dicetak dalam format yang dapat dibaca manusia;
jika opsinya adalah +o, pengaturan dicetak dalam format yang sesuai untuk dimasukkan kembali ke
shell untuk mempengaruhi pengaturan opsi yang sama.

Penggunaan ketiga dari perintah set adalah untuk mengatur nilai posisi shell
parameter ke argumen yang ditentukan. Untuk mengubah parameter posisi tanpa
mengubah opsi apa pun, gunakan "--" sebagai argumen pertama yang ditetapkan. Jika tidak ada argumen,
perintah set akan menghapus semua parameter posisi (setara dengan mengeksekusi
"geser $#".)

menggeser [n]
Geser parameter posisi n kali. A bergeser menentukan nilai $1 ke nilai
of $2, nilai dari $2 dengan nilai $3, dan seterusnya, menurunkan nilai $# by
satu. Jika n lebih besar dari jumlah parameter posisi, bergeser akan mengeluarkan
pesan kesalahan, dan keluar dengan status pengembalian 2.

uji ekspresi

[ ekspresi ]
uji utilitas mengevaluasi ekspresi dan, jika bernilai benar, mengembalikan a
status keluar nol (benar); jika tidak, ia mengembalikan 1 (salah). Jika tidak ada ekspresi,
test juga mengembalikan 1 (salah).

Semua operator dan flag adalah argumen terpisah untuk uji utilitas

Primer berikut digunakan untuk membangun ekspresi:

-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 (terlepas dari jenisnya).

-f fillet Benar jika fillet ada dan merupakan file biasa.

-g fillet Benar jika fillet ada dan bendera ID grup yang disetelnya disetel.

-h fillet Benar jika fillet ada dan merupakan tautan simbolik.

-k fillet Benar jika fillet ada dan bit lengketnya diatur.

-n string Benar jika panjang string adalah bukan nol.

-p fillet Benar jika fillet adalah pipa bernama (FIFO).

-r fillet Benar jika fillet ada dan dapat dibaca.

-s fillet Benar jika fillet ada dan memiliki ukuran lebih besar dari nol.

-t file_deskriptor
Benar jika file yang nomor deskriptor filenya adalah file_deskriptor is
terbuka dan dikaitkan dengan terminal.

-u fillet Benar jika fillet ada dan flag ID pengguna yang disetelnya disetel.

-w fillet Benar jika fillet ada dan dapat ditulis. Benar hanya menunjukkan bahwa
bendera tulis aktif. File tidak dapat ditulis pada sistem file read-only
bahkan jika tes ini menunjukkan benar.

-x fillet Benar jika fillet ada dan dapat dieksekusi. Benar hanya menunjukkan bahwa
bendera eksekusi aktif. Jika fillet adalah direktori, true menunjukkan bahwa fillet
dapat dicari.

-z string Benar jika panjang string adalah nol.

-L fillet Benar jika fillet ada dan merupakan tautan simbolik. Operator ini dipertahankan
untuk kompatibilitas dengan versi sebelumnya dari program ini. Jangan mengandalkan
atas keberadaannya; menggunakan -h sebagai gantinya.

-O fillet Benar jika fillet ada dan pemiliknya cocok dengan id pengguna efektif ini
proses.

-G fillet Benar jika fillet ada dan grupnya cocok dengan id grup efektif dari
proses ini.

-S fillet Benar jika fillet ada dan merupakan soket.

file1 -tidak file2
Benar jika file1 dan file2 ada dan file1 lebih baru dari file2.

file1 -ot file2
Benar jika file1 dan file2 ada dan file1 lebih tua dari file2.

file1 -ef file2
Benar jika file1 dan file2 ada dan merujuk ke file yang sama.

string Benar jika string bukan string nol.

s1 = s2 Benar jika senar s1 dan s2 identik.

s1 != s2 Benar jika senar s1 dan s2 tidak identik.

s1 < s2 Benar jika string s1 datang sebelum s2 berdasarkan nilai ASCII mereka
karakter.

s1 > s2 Benar jika string s1 datang setelah s2 berdasarkan nilai ASCII mereka
karakter.

n1 -persamaan n2 Benar jika bilangan bulat n1 dan n2 secara aljabar sama.

n1 -satu n2 Benar jika bilangan bulat n1 dan n2 tidak sama secara aljabar.

n1 -gt n2 Benar jika bilangan bulat n1 secara aljabar lebih besar dari bilangan bulat n2.

n1 -ge n2 Benar jika bilangan bulat n1 secara aljabar lebih besar dari atau sama dengan
bilangan bulat n2.

n1 -lt n2 Benar jika bilangan bulat n1 secara aljabar lebih kecil dari bilangan bulat n2.

n1 -NS n2 Benar jika bilangan bulat n1 secara aljabar kurang dari atau sama dengan
bilangan bulat n2.

Primer ini dapat digabungkan dengan operator berikut:

! ekspresi Benar jika ekspresi itu salah.

ekspresi1 -a ekspresi2
Benar jika keduanya ekspresi1 dan ekspresi2 benar.

ekspresi1 -o ekspresi2
Benar juga jika ekspresi1 or ekspresi2 benar.

(ekspresi) Benar jika ekspresi benar.

-a operator memiliki prioritas lebih tinggi daripada -o operator.

times Cetak akumulasi waktu pengguna dan sistem untuk shell dan untuk proses yang dijalankan dari
kerang. Status pengembalian adalah 0.

perangkap [tindakan sinyal ...]
Menyebabkan shell mengurai dan mengeksekusi tindakan ketika salah satu sinyal yang ditentukan adalah
diterima. Sinyal ditentukan oleh nomor sinyal atau sebagai nama sinyal.
If sinyal adalah 0 atau EXIT, aksi dijalankan saat shell keluar. tindakan mungkin
kosong (''), yang menyebabkan sinyal yang ditentukan diabaikan. Dengan tindakan dihilangkan atau
diatur ke `-' sinyal yang ditentukan diatur ke tindakan defaultnya. Ketika cangkang
memotong subkulit, itu mengatur ulang sinyal yang terperangkap (tetapi tidak diabaikan) ke default
tindakan. NS perangkap perintah tidak berpengaruh pada sinyal yang diabaikan saat masuk ke
kulit. perangkap tanpa argumen apa pun menyebabkannya menulis daftar sinyal dan mereka
tindakan terkait dengan output standar dalam format yang sesuai sebagai input untuk
shell yang mencapai hasil perangkap yang sama.

contoh:

perangkap

Buat daftar sinyal yang terperangkap dan tindakan terkaitnya

perangkap '' INT QUIT tstp 30

Abaikan sinyal INT QUIT TSTP USR1

tanggal jebakan INT

Cetak tanggal setelah menerima sinyal INT

Tipe [nama ...]
Menafsirkan setiap nama sebagai perintah dan mencetak resolusi pencarian perintah.
Kemungkinan resolusi adalah: kata kunci shell, alias, shell bawaan, perintah, alias terlacak
dan tidak ditemukan. Untuk alias, perluasan alias dicetak; untuk perintah dan dilacak
alias nama path lengkap dari perintah dicetak.

batas [-H | -S] [-a | -tfdscmlpn [nilai]]
Menanyakan tentang atau menetapkan batas keras atau lunak pada proses atau menetapkan batas baru. NS
pilihan antara batas keras (yang tidak boleh dilanggar oleh proses apa pun, dan mana yang tidak boleh
dinaikkan setelah diturunkan) dan batas lunak (yang menyebabkan proses menjadi
diberi tanda tetapi tidak harus dibunuh, dan yang dapat dibangkitkan) dibuat dengan ini
bendera:

-H atur atau tanyakan tentang batas keras

-S mengatur atau menanyakan tentang batas lunak. Jika tidak -H maupun -S ditentukan,
batas lunak ditampilkan atau kedua batas ditetapkan. Jika keduanya ditentukan,
yang terakhir menang.

Batas yang akan diinterogasi atau ditetapkan, kemudian, dipilih dengan menentukan salah satu dari ini
bendera:

-a tunjukkan semua batas saat ini

-t tampilkan atau atur batas waktu CPU (dalam detik)

-f menunjukkan atau mengatur batas pada file terbesar yang dapat dibuat (dalam
blok 512-byte)

-d menunjukkan atau mengatur batas ukuran segmen data dari suatu proses (dalam
kilobyte)

-s menunjukkan atau mengatur batas ukuran tumpukan suatu proses (dalam kilobyte)

-c tunjukkan atau tetapkan batas ukuran pembuangan inti terbesar yang dapat diproduksi
(dalam blok 512-byte)

-m menunjukkan atau mengatur batas total memori fisik yang dapat digunakan oleh
sebuah proses (dalam kilobyte)

-l menunjukkan atau mengatur batas berapa banyak memori yang dapat dikunci oleh suatu proses mlock(2)
(dalam kilobyte)

-p tampilkan atau atur batas jumlah proses yang dapat dilakukan pengguna ini di
satu kali

-n menunjukkan atau mengatur batas jumlah file yang dapat dibuka oleh suatu proses sekaligus

-r menunjukkan atau mengatur batas prioritas penjadwalan real-time dari suatu proses

Jika tidak ada yang ditentukan, itu adalah batas ukuran file yang ditampilkan atau ditetapkan. Jika
nilai ditentukan, batas diatur ke nomor itu; jika tidak, batas saat ini adalah
ditampilkan.

Batas dari proses arbitrer dapat ditampilkan atau diatur menggunakan sysctl(8) utilitas.

umask [masker]
Tetapkan nilai umask (lihat umask(2)) ke nilai oktal yang ditentukan. Jika argumen
dihilangkan, nilai umask dicetak.

unalias [-a] [nama]
If nama ditentukan, shell menghapus alias itu. Jika -a ditentukan, semua alias
dihapus.

tidak disetel [-fv] nama ...
Variabel dan fungsi yang ditentukan tidak disetel dan tidak diekspor. Jika -f or -v is
ditentukan, fungsi atau variabel yang sesuai tidak disetel, masing-masing. Jika diberikan
name sesuai dengan variabel dan fungsi, dan tidak ada opsi yang diberikan, hanya
variabel tidak disetel.

tunggu [pekerjaan]
Tunggu pekerjaan yang ditentukan selesai dan kembalikan status keluar dari proses terakhir
dalam pekerjaan. Jika argumen dihilangkan, tunggu semua pekerjaan selesai dan kembalikan
status keluar dari nol.

perintah baris Mengedit
Ketika berlari sedang digunakan secara interaktif dari terminal, perintah saat ini dan perintah
sejarah (lihat fc in bawaan) dapat diedit menggunakan pengeditan baris perintah vi-mode. Modus ini
menggunakan perintah, dijelaskan di bawah, mirip dengan subset dari yang dijelaskan di halaman manual vi.
Perintah 'set -o vi' mengaktifkan pengeditan mode vi dan menempatkan sh ke mode penyisipan vi. Dengan vi-
mode diaktifkan, sh dapat dialihkan antara mode penyisipan dan mode perintah. Editornya bukan
dijelaskan secara lengkap di sini, tetapi akan ada di dokumen selanjutnya. Ini mirip dengan vi: mengetik ESC⟩
akan melemparkan Anda ke mode perintah perintah VI. Menekan kembali⟩ saat dalam mode perintah akan
melewati garis ke shell.

EXIT STATUS


Kesalahan yang terdeteksi oleh shell, seperti kesalahan sintaks, akan menyebabkan shell keluar
dengan status keluar bukan nol. Jika shell bukan shell interaktif, eksekusi dari
file shell akan dibatalkan. Kalau tidak, shell akan mengembalikan status keluar yang terakhir
perintah dieksekusi, atau jika exit builtin digunakan dengan argumen numerik, itu akan mengembalikan
argumen.

LINGKUNGAN


HOME Ditetapkan secara otomatis oleh masuk(1) dari direktori login pengguna di kata sandi
berkas (passwd(4)). Variabel lingkungan ini juga berfungsi sebagai default
argumen untuk cd bawaan.

PATH Jalur pencarian default untuk executable. Lihat bagian di atas xtra Pencarian.

CDPATH Jalur pencarian yang digunakan dengan cd bawaan.

MAIL Nama file surat, yang akan diperiksa kedatangan surat baru.
Ditimpa oleh MAILPATH.

MAILCHECK Frekuensi dalam detik yang diperiksa shell untuk kedatangan surat di
file yang ditentukan oleh MAILPATH atau file MAIL. Jika disetel ke 0, cek akan
terjadi pada setiap prompt.

MAILPATH Tanda titik dua ":" memisahkan daftar nama file, untuk shell untuk memeriksa yang masuk
surat. Pengaturan lingkungan ini mengesampingkan pengaturan MAIL. Ada maksimal
dari 10 kotak surat yang dapat dipantau sekaligus.

PS1 String prompt utama, yang defaultnya adalah “$ ”, kecuali Anda adalah superuser,
dalam hal ini defaultnya adalah "#".

PS2 String prompt sekunder, yang defaultnya adalah "> ".

Output PS4 sebelum setiap baris saat jejak eksekusi (set -x) diaktifkan, defaultnya adalah
"+".

Pemisah Bidang Masukan IFS. Ini biasanya diatur ke spasi⟩, tab⟩, dan baris baru⟩.
Lihat Putih Space Pemisahan bagian untuk lebih jelasnya.

TERM Pengaturan terminal default untuk shell. Ini diwarisi oleh anak-anak
shell, dan digunakan dalam mode pengeditan riwayat.

HISTSIZE Jumlah baris dalam buffer sejarah untuk shell.

PWD Nilai logis dari direktori kerja saat ini. Ini diatur oleh cd
perintah.

OLDPWD Nilai logis sebelumnya dari direktori kerja saat ini. Ini diatur oleh
cd perintah.

PPID ID proses dari proses induk dari shell.

Gunakan tanda hubung online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

Perintah Linux

Ad