Tuesday, November 30, 2010

SHELL PROGRAMMING

Posted by Unknown at 11/30/2010 06:40:00 PM
Shell, dalam komputer adalah salah satu jenis program bawaan sistem operasi (seringnya merupakan program yang terpisah dari inti sistem operasi) yang menyediakan komunikasi langsung antara pengguna dan sistem operasi. Contoh dari shell adalah COMMAND.COM dalam MS-DOS, Macintosh Finder (Macintosh), Windows Explorer, Command Prompt/cmd.exe, PowerShell dalam Microsoft Windows, Bourne shell, C shell, Korn shell dan masih banyak lainnya khususnya dalam keluarga sistem operasi UNIX. Beberapa shell juga dapat digunakan untuk melakukan manajemen berkas.
Diskusi ini berlaku untuk script yang ditulis untuk shell-C (csh) shell. Bourne (sh) script yang sama, meskipun sintaks yang sebenarnya berbeda.
A shell script is a file containing a set of commands to be executed (run) by the shell in sequence as it reads the file. Sebuah shell script adalah file yang berisi sekumpulan perintah untuk dieksekusi (dijalankan) oleh shell dalam urutan seperti membaca file.
In its simplest form, a shell script is simply a way to save a set of commands that are often executed, such as the initialization commands for your login session that are stored in the .login script file, so you don't have to re-type the set everytime you want to run it. Instead, you simply run the script that contains all the commands. Dalam bentuknya yang paling sederhana, sebuah shell script hanya merupakan cara untuk menyimpan satu set perintah yang sering dilaksanakan, seperti perintah inisialisasi untuk sesi login Anda yang disimpan dalam file script login., Sehingga Anda tidak perlu kembali -type mengatur setiap kali Anda ingin menjalankannya. Sebaliknya, Anda cukup menjalankan script yang berisi semua perintah.
Strictly speaking, everything that you can put into a shell script can also be executed interactively by typing on the command line, although the looping constructs can be cumbersome. Tepatnya, segala sesuatu yang Anda dapat dimasukkan ke dalam sebuah shell script juga dapat dilaksanakan secara interaktif dengan mengetik pada baris perintah, walaupun pengulangan konstruksi bisa rumit. This gives you the chance to test out the syntax of various shell constructs. Ini memberikan Anda kesempatan untuk menguji sintaks dari berbagai shell konstruksi.
The shell provides tools to make shell scripts more powerful, even full-fledged programs. Shell menyediakan alat untuk membuat skrip shell lebih kuat, bahkan yang matang program-program penuh. Shell programming is organized around the concepts of "substitution" and "flow-of-control". Shell pemrograman diatur di sekitar konsep "substitusi" dan "aliran-of-control".
·         Substitution is used to manipulate values within the script. Pergantian digunakan untuk memanipulasi nilai dalam script. It involves using the values of variables as part of a command; and taking the output of a command to be the new value of a variable. Ini melibatkan penggunaan nilai-nilai variabel sebagai bagian dari perintah, dan mengambil output dari perintah menjadi nilai baru dari variabel.
·         Flow-of-control refers to common programming constructs such as loops and if-then-else statements that are used to control which statements in the script are executed in which order, often depending upon the value of a variable; or to cause repetitive execution of a set of commands with different variable or input values. Flow-of-control mengacu pada pemrograman umum konstruksi seperti loop dan-kemudian-lain laporan jika yang digunakan untuk mengontrol yang laporan dalam script akan dieksekusi di mana urutan, sering tergantung pada nilai dari variabel, atau menyebabkan eksekusi berulang dari serangkaian perintah dengan variabel yang berbeda atau nilai-nilai input.
Macam - macam shell
Tidak seperti sistem operasi lain yang hanya menyediakan satu atau 2 shell, sistem operasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shell dengan kumpulan perintah yang sangat banyak, sehingga memungkinkan pemakai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya, atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah, beberapa shell yang ada di linux antara lain:


·     Bourne shell(sh),
·     C shell(csh),
·     Korn shell(ksh),
·     Bourne again shell(bash),
·     dsb.


Masing - masing shell mempunyai kelebihan dan kekurangan yang mungkin lebih didasarkan pada kebutuhan pemakai yang makin hari makin meningkat, untuk dokumentasi ini shell yang digunakan adalah bash shell dari GNU, yang merupakan pengembangan dari Bourne shell dan mengambil beberapa feature (keistimewaan) dari C shell serta Korn shell, Bash shell merupakan shell yang cukup banyak digunakan pemakai linux karena kemudahan serta banyaknya fasilitas perintah yang disediakan.versi bash shell yang saya gunakan adalah 2.04
[fajar@linux$]echo $BASH_VERSION
bash 2.04.12(1)-release
Mungkin saat anda membaca dokumentasi ini versi terbaru dari bash sudah dirilis dengan penambahan feature yang lain.
Pemrograman Shell
Yaitu menyusun atau mengelompokkan beberapa perintah shell (internal atupun eksternal command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan penyusunnya. Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell di linux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa pemrograman (interpreter language), melakukan proses I/O, menyeleksi kondisi, looping, membuat fungsi, dsb. adalah proses - proses yang umumnya dilakukan oleh suatu bahasa pemrograman, jadi dengan shell di linux kita dapat membuat program seperti halnya bahasa pemrograman, untuk pemrograman shell pemakai unix atau linux menyebutnya sebagai script shell.
Kebutuhan Dasar
Sebelum mempelajari pemrograman Bash shell di linux sebaiknya anda telah mengetahui dan menggunakan perintah - perintah dasar shell baik itu internal command yang telah disediakan shell maupun eksternal command atau utility, seperti
·         cd, pwd, times, alias, umask, exit, logout, fg, bg, ls, mkdir, rmdir, mv, cp, rm, clear, ...
·         utilitas seperti cat, cut, paste, chmod, lpr,...
·         redirection (cara mengirim output ke file atau menerima input dari file), menggunakan operator redirect >, >>, <, <<, contohnya:
ls > data hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa.
ls >> data hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
cat < data file data dijadikan input oleh perintah cat
·         pipa (output suatu perintah menjadi input perintah lain), operatornya : | , contoh:
ls -l | sort –souput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pake ls -l -r saja :-) ls -l | sort -s | more cat <data | sort > databaru
·         Wildcard dengan karakter *, ?, [ ], contohnya:
ls i* tampilkan semua file yang dimulai dengan i
ls i?i tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
ls [ab]* tampilkan file yang dimulai dengan salah satu karakter a atau b
Dasar jenis pernyataan dalam sebuah shell script

1.        Last revision August 6, 20Comments Komentar
The "pound" or "hash" sign (
# ) signals the start of a comment. This sign and anything that follows it up to the end of the line is interpreted as a comment for the author and is not executed. The "pound" atau "hash" tanda (#) sinyal awal komentar. Ini tanda dan segala sesuatu yang mengikutinya hingga akhir baris dianggap sebagai komentar untuk penulis dan tidak dieksekusi.
2.       Commands to be executed in a new process Perintah yang dijalankan dalam proses baruIf a line in the script does not begin with one of the reserved keywords that is used for variable operations or flow-control, it is assumed to be a command that you want to execute as a new child process. Jika sebuah baris di script tidak dimulai dengan salah satu kata kunci cadangan yang digunakan untuk operasi variabel atau aliran-kontrol, diasumsikan menjadi perintah yang Anda ingin mengeksekusi sebagai proses anak baru. The entire line is scanned, looking for variables that need to be substituted and wildcards characters ("*", "?", etc) that need to be matched to filenames. Seluruh baris dipindai, mencari variabel yang perlu diganti dan wildcard ("*", karakter "?", Dll) yang perlu dicocokkan dengan nama file. After all substitutions are performed, it is executed as if you had typed it at the terminal. Setelah semua substitusi dilakukan, maka dijalankan seolah-olah Anda telah mengetik itu di terminal.
3.        Setting and substituting variable values Setting dan mengganti nilai-nilai variabel
Special keywords such as
set or the $ symbol indicate a variable is to be set or kata kunci khusus seperti mengatur atau $ simbol menunjukkan variabel yang akan ditetapkan atau digunakan.
4.       Flow-of-control: loops, conditionals Flow-of-kontrol: loop, conditional
Special keywords such as
if or foreach are used to start lines in the script that provide flow control or conditional execution. kata kunci khusus seperti jika atau foreach digunakan untuk memulai baris pada skrip yang menyediakan kontrol aliran atau eksekusi bersyarat.

Bagaimana Anda mengeksekusi (menjalankan) sebuah shell script?
1.        Last revision August 6, 2004There are two methods you can use to execute a shell script. Ada dua metode yang dapat digunakan untuk mengeksekusi sebuah shell script.
2.       First, you can give the script file name as an argument to an instance of the shell program, that is, type a command like: Pertama, Anda dapat memberikan nama file script sebagai argumen ke sebuah contoh dari program shell, yaitu, ketikkan perintah seperti: csh filename csh nama file csh is the name of the C-shell program itself. csh adalah nama-shell program C itu sendiri. This command starts up a new C-shell process that executes the commands in the script filename and then terminates. Perintah ini dimulai sebuah proses C-shell baru yang mengeksekusi perintah di script nama file dan kemudian berakhir.
3.        Second, you can give the name of the shell script itself as a command, just like any other program on Unix. Kedua, Anda dapat memberikan nama shell script itu sendiri sebagai perintah, seperti program lain di Unix. First, you have to let the Unix kernel recognize that this is a shell script by doing the following two steps. Pertama, Anda harus membiarkan kernel Unix mengakui bahwa ini adalah sebuah skrip shell dengan melakukan langkah-langkah berikut dua. Then you can simply type the shell's filename as a command name to execute it. Lalu Anda cukup mengetik shell itu nama file sebagai nama perintah untuk melaksanakannya. The kernel will automatically start up a new C-shell process to execute the commands in the script. Kernel akan secara otomatis memulai proses C-shell baru untuk mengeksekusi perintah dalam script.
4.       Note that your login shell has to be able to find the shell script file when you type its name as a command. Perhatikan bahwa shell login Anda harus dapat menemukan file shell script ketika anda mengetik yang nama sebagai perintah. The login shell only looks in a set of specific directories, called its path , to find files that contain programs. Shell login hanya terlihat dalam beberapa kumpulan direktori tertentu, disebut sebagai jalan , untuk menemukan file yang berisi program. On pangea, the default path includes your current working directory , so you can run a shell script in the current directory simply by typing its name. Otherwise, type the absolute pathname of the script (for example, /home/sysop/farrell/programs/addup ), or add the directory where the script lives to your standard path. Pada Pangea, path standar termasuk Anda direktori kerja saat ini , sehingga Anda dapat menjalankan shell script di direktori saat ini cukup dengan mengetikkan namanya. Jika tidak, ketik nama path absolut dari script (untuk contoh, / home / sysop / Farrell / program / addup), atau menambahkan direktori dimana skrip hidup untuk jalan standar Anda. Whenever you add a directory to your standard path, you must run the rehash built-in C-shell command to tell your login shell to rebuild its list of programs using your new path definition. Setiap kali Anda menambahkan sebuah direktori ke path standar Anda, Anda harus menjalankan pengulangan built-in-perintah shell C untuk memberitahu shell login Anda untuk membangun kembali daftar program menggunakan definisi jalan baru Anda.
5.        To make your shell script file executable as a program, do these steps: Untuk membuat file shell script anda eksekusi sebagai sebuah program, lakukan langkah-langkah:
6.       Put the following line as the first line in your script: Masukkan baris berikut sebagai baris pertama dalam naskah anda: #! #! /bin/csh -f / Bin / csh-f
This is a special comment telling the kernel that you want this script to be executed by the C-shell (there is an alternate shell named simply sh ). Ini adalah sebuah komentar khusus memberitahu kernel yang anda ingin skrip ini dijalankan oleh shell-C (ada shell alternatif bernama cukup sh). The -f option helps the command to start up faster by skipping the initial read of the .cshrc file. F opsi-membantu perintah untuk memulai lebih cepat dengan melewatkan membaca awal dari cshrc file..
7.        Use chmod to set execute permission for your file. Gunakan chmod untuk mengatur izin untuk mengeksekusi file Anda. For instance, if you want anyone to be able to execute the script file, use Misalnya, jika Anda ingin ada seseorang yang dapat mengeksekusi file script, gunakan chmod ugo+x filename chmod ugo + x nama file
Contoh skrip sederhana
1.        Last revision August 6, 2004These are examples of some simple scripts that collect commands together in a script file to save having to type them every time they are needed. Ini adalah contoh dari beberapa script sederhana yang mengumpulkan perintah bersama dalam sebuah file script untuk menyimpan harus mengetikkannya setiap kali mereka dibutuhkan.
2.       /home/sysop/farrell/bin/atlookall on pangea / Home / sysop / Farrell / bin / atlookall di Pangea
3.        This script runs the atlook command, which searches specified AppleTalk network zones for devices, with a long list of zones applicable to Earth Sciences. Script ini menjalankan perintah atlook, yang mencari jaringan ditetapkan zona AppleTalk untuk perangkat, dengan daftar panjang zona berlaku untuk Ilmu Bumi. Making a script saves having to type all those zone names every time you run it. Membuat script menghemat harus mengetikkan semua nama zona tersebut setiap kali Anda menjalankannya.
4.       #! #! /bin/csh -f / Bin / csh-f
# Run atlook to check all Earth Sciences AppleTalk zone # Jalankan atlook untuk memeriksa semua zona Ilmu Bumi AppleTalk.
# $* syntax inserts any options given as arguments to this
# Sintaks * insert $ setiap opsi yang diberikan sebagai argumen untuk ini
# script ahead of zone names.
# Script di depan nama zona.
# Backslashes at ends of lines continue the command to the next line. # Backslash di ujung baris perintah melanjutkan ke baris berikutnya.
5.        atlook $* ES-Ethernet ES-Green-East ES-Green-West ES-Green-Concourse \ atlook $ * ES-Ethernet ES-Green-Timur ES-Green-Barat ES-Green-Concourse \
ES-Mitchell-SB ES-Mitchell-B ES-Mitchell-1st ES-Mitchell-3rd \ ES-Mitchell-SB Mitchell-ES-ES-Mitchell B-1 ES-Mitchell-3 \
ES-Mitchell-4th ES-GeoCorner-1st ES-GeoCorner-2nd ES-GeoCorner-3rd ES-Mitchell-4 ES-GeoCorner-1 ES-GeoCorner-2 ES-GeoCorner-3
6.       /local/bin/handcart on pangea / Local / bin / kereta tangan di Pangea
7.        Typing the command handcart on pangea results in the execution of this script, which is stored in one of the standard system program directories. All the script does is print information about how to use the hardcart in the Mitchell Building. Mengetik perintah kereta tangan hasil Pangea dalam pelaksanaan script, yang disimpan dalam salah satu direktori program sistem standar. Semua script lakukan adalah mencetak informasi tentang cara menggunakan hardcart di Gedung Mitchell.
8.       #! #! /bin/csh -f / Bin / csh-f
more << EO lebih lanjut <<EOF
Combination for the combination lock on tKombinasi untuk kunci kombinasi di

School of Earth Sciences hand carSekolah gerobak Ilmu Bumi:
9.       Turn RIGHT at least three full turns, stop at 8 Belok KANAN setidaknya tiga putaran penuh, berhenti di 8
Turn LEFT 1.75 turns (turn past 8), stop at 38 Belok KIRI 1,75 bergantian (giliran terakhir 8), berhenti di 38
Turn RIGHT, stop at 4, pull shackle Belok KANAN, berhenti di 4, tarik belenggu
10.    The cart is parked under the south stairwell Gerobak diparkir di bawah tangga selatan
in the subbasement of the Mitchell Building. di subbasement Gedung Mitchell.
Rules for use are posted nearby. Aturan untuk penggunaan yang diposting di dekatnya. Please Silahkan
contact Felicia in the Dean's Office (723-5490) menghubungi Felicia di Dean Kantor (723-5490)
for further help. untuk bantuan lebih lanjut.
EOF EOF
11.     /local/bin/pine on pangea / Local / bin / pinus di Pangea
12.    In order to provide global options that will affect all runs of the pine email reader program on pangea, there is a simple script in the standard system program directory /local/bin that first makes the settings you want, and then calls the real pine program, which is stored under another name. Dalam rangka menyediakan pilihan global yang akan mempengaruhi semua menjalankan program pembaca email pinus di Pangea, ada script sederhana pada direktori program sistem standar / / bin lokal yang pertama membuat pengaturan yang Anda inginkan, dan kemudian memanggil program pinus nyata , yang disimpan dengan nama lain.
13.     #! #! /bin/csh -f / Bin / csh-f
#  Driver shell for the "pine" mail handling program.
# Driver shell untuk pinus "mail" penanganan program.
#  P.
# P. Farrell, 30 April 1996 Farrell, 30 April 1996
#
#
#  This allows me to set default options.
# Ini memungkinkan saya untuk mengatur opsi default. Previously, I would Sebelumnya, saya akan
#  set the -z option to allow program suspension; but that is now
# Mengatur opsi-z untuk memungkinkan suspensi program, tetapi yang sekarang
#  set in the /local/lib/pine.conf file.
# Set di / lokal / / pine.conf file lib. Unset the DISPLAY variable, Unset variabel DISPLAY,
#  which pangea sets for all logins, whether X terminal or not,
# Yang Pangea set untuk semua login, baik terminal X atau tidak,
#  so pine won't try to display MIME images on non-X terminals.
# Sehingga pinus tidak akan mencoba untuk menampilkan gambar pada MIME-X terminal non.
#  X logins can use name "pinex" to run the program directly.
# X login dapat menggunakan nama "pinex" untuk menjalankan program secara langsung.
#
#
unsetenv DISPLAY
unsetenv DISPLAY
#
#
#  The syntax $*:q will substitute the argument list exactly as
# Sintaks $ *: q akan menggantikan daftar argumen persis seperti
#  passed, with embedded blanks in words, escaped metacharacters
# Berlalu, dengan blank tertanam dalam kata-kata, melarikan diri metakarakter
#  uninterpreted, etc. Verified by testing.
# Uninterpreted, dll Verified dengan menguji.
#
#
exec /local/bin/pine4.33 $*:q
exec / local/bin/pine4.33 $ *: q
Bekerja dengan variabel script, termasuk argumen baris perintah
In order to make general scripts, that can be used with different files or under different circumstances, you need to have variables. Untuk membuat script umum, yang dapat digunakan dengan file yang berbeda atau dalam keadaan yang berbeda, Anda harus memiliki variabel. A variable in a shell script -- or any programming language -- is like a variable in an algebraic expression. It is simply a name that can stand for a value which can vary. Sebuah variabel dalam skrip shell - atau bahasa pemrograman - seperti variabel dalam sebuah ekspresi aljabar bervariasi. Ini hanya sekedar nama yang bisa berdiri untuk nilai yang dapat. In shell scripts, you can create variables and set their values by many different methods: Dalam skrip shell, Anda dapat membuat variabel dan menetapkan nilai-nilai mereka dengan berbagai metode:
·         Command line arguments typed after the script name when you run i argumen baris perintah diketik setelah nama skrip ketika Anda menjalankannya.
·         Simple set statements within the script itself, for example, to initialize a value that may change later, or to gather all the values that you might want to change into a single list of parameters at the top of the script.Wikipedia mengatur laporan dalam naskah itu sendiri, misalnya, untuk menginisialisasi nilai yang dapat berubah nanti, atau untuk mengumpulkan semua nilai-nilai yang Anda mungkin ingin berubah menjadi satu daftar parameter di bagian atas script.
·         set statements that follow a test of some kind: if there is one result, set the variable to one value; if another result from the test, set the variable to a different value laporan menetapkan bahwa mengikuti tes dari beberapa jenis: jika ada satu hasil, mengatur variabel untuk satu nilai, jika hasil lain dari ujian, mengatur variabel ke nilai yang berbeda.
·         Arithmetic computations that modify the value of a variable. perhitungan aritmatika yang memodifikasi nilai dari variabel.
·         A command substitution that runs another command within the script and captures its output to be the value of a variable. Sebuah substitusi perintah yang menjalankan perintah lain di dalam naskah dan menangkap output untuk menjadi nilai dari variabel.
You can use these variables as parts of other commands that you run from within the shell script: as the list of options, or the names of files to be affected, etc. Anda dapat menggunakan variabel tersebut sebagai bagian dari perintah lain yang Anda jalankan dari dalam shell script: sebagai daftar pilihan, atau nama-nama file yang akan terpengaruh, dll
Specific C-shell implementations may have limits on the size of variables. The csh program on pangea, which runs Tru64 Unix v4.0g, apparently has no limit on the total size of a variable (total number of bytes of data you can assign to a variable), but does limit individual words within the variable's data to be no more than 1024 bytes each. Khusus C-shell implementasi mungkin memiliki batasan pada ukuran variabel,. Csh Program di Pangea, yang berjalan Tru64 Unix v4.0g tampaknya memiliki batas pada ukuran total dari variabel (jumlah byte data Anda dapat menetapkan untuk sebuah variabel), tetapi kata-kata membatasi individu dalam variabel's data tidak lebih dari 1024 byte masing-masing. Here, a word is defined as a string of contiguous characters that includes no blank or tab characters (no "white space"). Di sini, kata didefinisikan sebagai string karakter bersebelahan yang meliputi tidak ada atau tab karakter kosong (tidak ada "ruang putih"). That is, the contents of the variable are broken into words wherever a blank or tab is found. Artinya, isi dari variabel yang rusak menjadi kata-kata manapun atau tab kosong ditemukan.
Command line arguments to scripts Baris perintah argumen untuk script
When you start a script from your interactive login shell, you can provide arguments to that script on the command line. These are automatically turned into variables that can be used inside the script. Ketika Anda mulai dari shell script login interaktif, Anda dapat memberikan argumen dengan script pada baris perintah. Ini secara otomatis berubah menjadi variabel yang dapat digunakan di dalam script.
If the command line contains filename wildcard characters, variable substitution references, or command substitution references, those are expanded or substituted first. Jika baris perintah berisi nama file wildcard karakter, referensi substitusi variabel, atau perintah substitusi referensi, yaitu diperluas atau diganti dulu. Then the command line string is broken into separate arguments at blanks, except that a quoted string can contain embedded blanks. Kemudian string baris perintah ini dibagi menjadi argumen terpisah pada kosong, kecuali bahwa dikutip string dapat berisi tertanam kosong.
You refer to these arguments as separate variables within the script itself by using the dollar sign (variable substitution operator) followed by an integer number, for example, Anda mengacu pada argumen sebagai variabel yang terpisah dalam script sendiri dengan menggunakan tanda dolar (operator substitusi variabel) diikuti oleh nomor integer, misalnya, cp $1 $2 cp $ 1 $ 2
This statement inside a shell script would run the cp program with the first "argument" to the shell script (first word on the command line that started the shell script) passed as the name of the file to copy via $1 , and the second argument to the shell script passed as the name of the new copy via $2 . Pernyataan di dalam shell script akan menjalankan program cp dengan "pertama" argumen ke script shell (kata pertama pada baris perintah yang memulai shell script) telah lulus sebagai nama file untuk menyalin melalui $ 1, dan argumen kedua ke shell script lulus sebagai nama dari salinan baru melalui $ 2.
The entire list of command line arguments can be referenced as one string with the syntax Seluruh daftar argumen baris perintah bisa direferensikan sebagai satu string dengan sintaks $* $ *
Specific C-shell implementations may impose limits on the number or size of arguments that can be passed to a shell script. The csh program on pangea uses a memory area of 38,912 bytes in length to store the expanded list of arguments (after wildcard filename matching or variable or command substitution is done) that can be passed to a shell script, or indeed, to any program that is started by the shell. Khusus C-shell implementasi dapat mengenakan batasan pada jumlah atau ukuran argumen yang bisa dilewatkan ke suatu skrip shell. Program csh di Pangea menggunakan area memori 38912 byte panjangnya untuk menyimpan daftar diperluas argumen (setelah nama file wildcard pencocokan atau variabel atau perintah substitusi dilakukan) yang dapat dikirimkan ke shell script, atau bahkan, untuk setiap program yang dijalankan oleh shell. Environment variables are also stored in this same memory area, so if you have many environment variables, you reduce the total length of an argument list that you can use. Variabel Lingkungan juga disimpan di daerah ini memori yang sama, jadi jika Anda memiliki banyak variabel lingkungan, Anda mengurangi total panjang sebuah daftar argumen yang dapat Anda gunakan. You can see how many total bytes are used by your environment variables with this command: Anda dapat melihat berapa jumlah byte banyak digunakan oleh variabel lingkungan Anda dengan perintah ini: printenv | wc -c printenv | wc-c
A typical pangea user will use 500 to 1000 bytes for environment variables, thus reducing the maximum size of the complete argument list for a shell script or other command by that amount Seorang pengguna Pangea khas akan menggunakan 500 sampai 1000 byte untuk variabel lingkungan, sehingga mengurangi ukuran maksimum dari daftar argumen yang lengkap untuk sebuah shell script atau perintah lain dengan jumlah yang
Making and setting your own variables in a script Membuat dan mengatur variabel sendiri di script
In addition to the command line arguments, the shell maintains a table of other user-created or special purpose variables in memory. Selain argumen baris perintah, shell memiliki sebuah tabel lain yang dibuat pengguna atau variabel tujuan khusus dalam memori. Each variable has a name and a value . Setiap variabel memiliki nama dan nilai.
·         Names - up to 20 letters or digits (start with letter) - case matters! Nama - hingga 20 huruf atau angka (dimulai dengan huruf) - hal kasus!
·         Values are strings of characters or digits of arbitrary length without any intrinsic "type". Nilai adalah string karakter atau digit panjang sewenang-wenang tanpa ada "intrinsik" tipe. They are treated as character strings or numeric values, depending upon how they are used. Mereka diperlakukan sebagai string karakter atau nilai numerik, tergantung pada bagaimana mereka digunakan.
It is also possible to treat any variable as an array of words and access each word separately (see detailed documentation on the C-shell). Hal ini juga memungkinkan untuk memperlakukan setiap variabel sebagai array kata-kata dan akses kata masing-masing secara terpisah (lihat dokumentasi rinci tentang shell-C).
Certain variable names are reserved by the shell for special uses, such as path or term . nama variabel tertentu disediakan oleh shell untuk penggunaan khusus, seperti path atau panjang. You can create any number of variables. Anda dapat membuat sejumlah variabel.
Use the set command to create/assign variables, for example: Gunakan perintah set untuk membuat / menetapkan variabel, misalnya:
set name = single_word set nama = single_word
set name =( word list ) menetapkan nama = (daftar kata)
set name =" string with embedded blanks " menetapkan nama = "string dengan kosong tertanam"
A set command with no value just creates the variable as a flag that is "on", and will have the value "true" in a logical expression, for example: Perintah set dengan nilai tidak hanya menciptakan variabel sebagai bendera yang "pada", dan akan memiliki nilai "benar" dalam ekspresi logika, misalnya: set optionflag mengatur optionflag
The unset command removes a variable completely from memory, for example: Perintah unset variabel menghapus sepenuhnya dari memori, misalnya: unset name unset nama
Using variables in the scripMenggunakan variabel dalam script
"Variable substitution" is the process of replacing a reference to the name of a variable with its actual value. "Substitusi Variabel" adalah proses penggantian referensi ke nama variabel dengan nilai yang sebenarnya. This is how we use variables. Ini adalah bagaimana kita menggunakan variabel.
The dollar sign ( $ ) is the basic substitution operator when it is used as the prefix for a variable name. Tanda dolar ($) adalah operator substitusi dasar bila digunakan sebagai awalan untuk nama variabel. Anytime you use the dollar sign as the first letter of a word in a shell command, it will expect the word to be the name of a variable. Setiap kali Anda menggunakan tanda dolar sebagai huruf pertama dari kata dalam perintah shell, maka akan mengharapkan kata untuk menjadi nama variabel. If you want the dollar sign to be interpreted as just a simple dollar sign, precede it wth the backslash ( \ ) "escape" character. Here are the basic formats for variable substitution: Jika Anda ingin tanda dolar untuk ditafsirkan sebagai tanda dolar hanya sederhana, mendahului, ini wth backslash (\) "melarikan diri" karakter pengganti. Berikut adalah dasar format variabel untuk:
$? name $? Nama
This tests whether the name variable exists. Ini menguji apakah variabel nama ada. If the variable does exist, the shell substitutes the value 1 (one, true); if not, the value 0 (zero, false). Jika variabel memang ada, sebagai pengganti shell nilai 1 (satu, true); jika tidak, nilai 0 (nol, false). Use this form if you are just using the variable as a flag. Gunakan formulir ini jika Anda hanya menggunakan variabel sebagai bendera. The result can be used in an if statement to conditionally execute some commands. Hasilnya dapat digunakan dalam sebuah jika pernyataan untuk persyaratan menjalankan beberapa perintah.
$ name $ Name
This form causes the entire word list value of name to be substituted for the reference. Formulir ini menyebabkan nilai seluruh daftar kata dari nama yang akan diganti untuk referensi. If name is not defined (was never set), you get an error. Jika nama tidak didefinisikan (tidak pernah set), Anda mendapatkan error.
$# name $ # Nama
This substitutes the number of words contained within the name variable. Ini pengganti jumlah kata yang terkandung dalam variabel nama. If the variable has a null value (that is, simply set as a "flag" variable), it substitutes zero. Jika variabel memiliki nilai null (yaitu, hanya ditetapkan sebagai bendera "variabel"), itu pengganti nol. If the variable has never been set, you get an error. Jika variabel tidak pernah diatur, Anda mendapatkan error.
$ name [ n ] $ Name [n]
This substitutes the "nth" word (blank separated value) from the name variable. Ini menggantikan "n" kata (nilai dipisahkan kosong) dari variabel nama. The square brackets are required to enclose the value n that specifies which word is wanted, and must follow the variable name with no intervening spaces. Tanda kurung siku diminta untuk melampirkan n nilai yang menentukan kata yang diinginkan, dan harus mengikuti nama variabel tanpa spasi intervensi. This is a way to treat a variable containing a multi-word value as an array of separate words. Ini adalah cara untuk mengobati variabel berisi kata nilai multi sebagai array kata-kata yang terpisah. If you specify a word index value n that is greater than the actual number of words in the variable, you get an error. Jika Anda menetapkan indeks kata n nilai yang lebih besar dari jumlah sebenarnya kata dalam variabel ini, Anda mendapatkan error.
Examples: Contoh:
set a = ($b) set a = ($ b)
Sets new variable
a equal to the word list in existing variable b . Set baru variabel sama dengan daftar kata dalam variabel b ada.
echo $b echo $ b
Echoes (prints) the value of existing variable
b to the standard output (terminal). Echoes (mencetak) nilai yang ada variabel b ke standard output (terminal).

2 comments:

RzQ said...

wow,
handal dalam dunia programming nih..

Blog muda IT said...

nice info..^_^

Post a Comment

 

sandraaws Template by Ipietoon Blogger Template | Gadget Review