OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<Sebelum | Contents [show] | Seterusnya>

Teruskan Skrip Berjalan

Semasa membangunkan program kami, adalah berguna untuk memastikan program dalam keadaan boleh dijalankan. Dengan melakukan ini, dan menguji dengan kerap, kami dapat mengesan ralat pada awal proses pembangunan. Ini akan menjadikan masalah penyahpepijatan lebih mudah. Sebagai contoh, jika kita menjalankan program, membuat perubahan kecil, kemudian menjalankan program sekali lagi dan mencari masalah, kemungkinan besar perubahan terbaru adalah punca masalah. Dengan menambah fungsi kosong, dipanggil rintisan dalam programmer-speak, kami boleh mengesahkan aliran logik program kami pada peringkat awal. Apabila membina stub, adalah idea yang baik untuk memasukkan sesuatu yang memberikan maklum balas kepada pengaturcara, yang menunjukkan aliran logik sedang dijalankan. Jika kita melihat output skrip kita sekarang:



[saya@linuxbox ~]$ sys_info_page

Laporan Maklumat Sistem Untuk twin2

[saya@linuxbox ~]$ sys_info_page

Laporan Maklumat Sistem Untuk twin2


Laporan Maklumat Sistem Untuk linuxbox

Dijana 03/19/2009 04:02:10 PM EDT, oleh saya


Laporan Maklumat Sistem Untuk linuxbox

Dijana 03/19/2009 04:02:10 PM EDT, oleh saya



kami melihat bahawa terdapat beberapa baris kosong dalam output kami selepas cap waktu, tetapi kami tidak dapat memastikan puncanya. Jika kami menukar fungsi untuk memasukkan beberapa maklum balas:



report_uptime () {

echo "Fungsi report_uptime dilaksanakan."

pulangan

}


report_disk_space () {

echo "Fungsi report_disk_space dilaksanakan."

pulangan

}


report_home_space () {

echo "Fungsi report_home_space dilaksanakan."

pulangan

}

report_uptime () {

echo "Fungsi report_uptime dilaksanakan."

pulangan

}


report_disk_space () {

echo "Fungsi report_disk_space dilaksanakan."

pulangan

}


report_home_space () {

echo "Fungsi report_home_space dilaksanakan."

pulangan

}


dan jalankan skrip sekali lagi:



[saya@linuxbox ~]$ sys_info_page

Laporan Maklumat Sistem Untuk linuxbox

Laporan Maklumat Sistem Untuk linuxbox

Dijana 03/20/2009 05:17:26 PG EDT, oleh saya Fungsi report_uptime dilaksanakan.

Fungsi report_disk_space dilaksanakan. Fungsi report_home_space dilaksanakan.

[saya@linuxbox ~]$ sys_info_page

Laporan Maklumat Sistem Untuk linuxbox

Laporan Maklumat Sistem Untuk linuxbox

Dijana 03/20/2009 05:17:26 PG EDT, oleh saya Fungsi report_uptime dilaksanakan.

Fungsi report_disk_space dilaksanakan. Fungsi report_home_space dilaksanakan.

Teruskan Skrip Berjalan


kita kini melihat bahawa, sebenarnya, tiga fungsi kita sedang dilaksanakan.

Dengan rangka kerja fungsi kami sedia ada dan berfungsi, sudah tiba masanya untuk menyempurnakan beberapa kod fungsi. Pertama, yang report_uptime fungsi:


report_uptime () {

kucing <<- _EOF_

Masa Beroperasi Sistem

$(uptime)

_EOF_

pulangan

}

report_uptime () {

kucing <<- _EOF_

Masa Beroperasi Sistem

$(uptime)

_EOF_

pulangan

}


Ia agak mudah. Kami menggunakan dokumen di sini untuk mengeluarkan pengepala bahagian dan output uptime perintah, dikelilingi oleh tag untuk mengekalkan pemformatan arahan. The report_disk_space fungsi adalah serupa:


report_disk_space () {

kucing <<- _EOF_

Penggunaan Ruang Cakera

$(df -h)

_EOF_

pulangan

}

report_disk_space () {

kucing <<- _EOF_

Penggunaan Ruang Cakera

$(df -h)

_EOF_

pulangan

}


Fungsi ini menggunakan df -h arahan untuk menentukan jumlah ruang cakera. Akhir sekali, kami akan membina report_home_space fungsi:


report_home_space () {

kucing <<- _EOF_

Penggunaan Ruang Rumah

$(du -sh /home/*)

_EOF_

pulangan

}

report_home_space () {

kucing <<- _EOF_

Penggunaan Ruang Rumah

$(du -sh /home/*)

_EOF_

pulangan

}


Kami menggunakan du perintah dengan -sh pilihan untuk melaksanakan tugas ini. Ini, bagaimanapun, bukanlah penyelesaian lengkap kepada masalah tersebut. Walaupun ia akan berfungsi pada sesetengah sistem (Ubuntu, contohnya), ia tidak akan berfungsi pada yang lain. Sebabnya ialah banyak sistem menetapkan kebenaran direktori rumah untuk menghalangnya daripada boleh dibaca dunia, yang merupakan langkah keselamatan yang munasabah. Pada sistem ini, report_home_space fungsi, seperti yang tertulis, akan


gambar

hanya berfungsi jika skrip kami dijalankan dengan keistimewaan superuser. Penyelesaian yang lebih baik ialah meminta skrip menyesuaikan tingkah lakunya mengikut keistimewaan pengguna. Kami akan membincangkan perkara ini dalam bab seterusnya.


Shell Berfungsi Dalam Fail .bashrc Anda

Fungsi Shell membuat penggantian yang sangat baik untuk alias, dan sebenarnya kaedah pilihan untuk mencipta arahan kecil untuk kegunaan peribadi. Alias ​​sangat terhad dalam jenis perintah dan ciri shell yang mereka sokong, manakala fungsi shell membenarkan apa-apa sahaja yang boleh diskripkan. Sebagai contoh, jika kita menyukai report_disk_space fungsi shell yang kami bangunkan untuk skrip kami, kami boleh mencipta fungsi serupa bernama ds Untuk kami .bashrc fail:

ds () {

echo “Penggunaan Ruang Cakera Untuk $HOSTNAME” df -h

}


Pengkomputeran Awan OS teratas di OnWorks: