Soalan dan jawapan wawancara praktikal mengenai skrip shell linux

Soalan dan jawapan wawancara praktikal mengenai skrip shell linux

Dengan sambutan yang luar biasa, kami mendapat artikel siri wawancara, yang pertama seumpamanya di mana-mana laman web Linux bagaimana dalam bentuk suka, maklum balas dalam komen serta di alamat e-mel peribadi membuat kami pergi dari satu artikel ke yang seterusnya artikel.

Berikut adalah pautan ke artikel siri wawancara yang telah diterbitkan di Tecmint.com, di mana kami telah merangkumi banyak topik., FTP, MySQL, Apache, Skrip, Perintah Linux, dll.

Soalan wawancara praktikal mengenai skrip shell

Meneruskan ke siri di atas di sini kami datang dengan 5 lagi soalan wawancara Linux yang indah dan jawapan mereka. Anda (tecmint.com pembaca dan pelawat yang kerap) Sokongan selalu diperlukan untuk menjadikannya berjaya.

1. Tulis skrip shell untuk mendapatkan tarikh semasa, masa, nama pengguna dan direktori kerja semasa.
Jawapan: Perintah logname, tarikh, siapa saya dan PWD akan mengeluarkan nama pengguna, tarikh dan masa semasa, dan direktori kerja semasa. Hanya melaksanakan arahan ini dalam skrip dan menjadikannya sedikit interaktif.

Sekarang buat fail yang dipanggil 'USERSTATS.sh'Dan tambahkan kod berikutnya.

#!/bin/bash echo "hello, $ logname" echo "tarikh semasa adalah 'tarikh'" echo 'pengguna adalah' saya '"echo" direktori semasa' pwd '"

Letakkan Laksanakan kebenaran dan jalankan skrip seperti yang ditunjukkan di bawah.

# chmod 755 userstats.sh # ./USERSTATS.sh
Output sampel
Helo, Avi Tarikh Semasa adalah Sabtu 7 Jun 13:05:29 IST 2014 Pengguna adalah AVI PTS/0 2014-06-07 11:59 (: 0) Direktori Semasa/Rumah/Avi/Desktop
2. Tulis skrip shell yang menambahkan dua nombor jika disediakan sebagai hujah baris arahan dan jika kedua-dua nombor tidak memasuki ia mengeluarkan mesej ralat bersama-sama dengan satu baris cara menggunakan keterangan.
Jawapan: Inilah skrip shell mudah bersama-sama dengan keterangan yang menambah dua nombor jika disediakan sebagai hujah baris arahan, jika tidak ia melemparkan ralat dengan satu baris mengenai cara menggunakan skrip.

Sekali lagi buat fail yang dipanggil 'Dua nombor.sh'Dan tambahkan kandungan berikutnya.

#!/bin/bash # shebang jika [$ # -ne 2] # jika dua input tidak diterima dari input standard kemudian # kemudian laksanakan pernyataan di bawah echo "penggunaan -$ 0 x y" # cetak pada output standard, cara menggunakannya Skrip (penggunaan - ./1.sh x y) echo "di mana x dan y adalah dua nos yang saya akan mencetak jumlah" # cetak pada output standard, "di mana x dan y adalah dua nos yang saya akan mencetak sum" keluar 1 # meninggalkan shell dalam peringkat ralat dan sebelum ini tugas itu berjaya dijalankan. fi # akhir pernyataan jika. echo "Jumlah $ 1 dan $ 2 adalah 'expr $ 1 + $ 2'" # jika keadaan di atas palsu dan pengguna memasuki dua nombor sebagai hujah baris arahan, ia akan menunjukkan jumlah nombor yang dimasukkan.

Tetapkan kebenaran pelaksana pada fail dan jalankan skrip seperti yang ditunjukkan di bawah.

# chmod 755 dua angka.sh

Keadaan 1: Menjalankan skrip tanpa memasukkan dua nombor sebagai hujah baris arahan, anda akan mendapat output berikut.

Output sampel
# ./Dua nombor.Penggunaan SH - ./Dua nombor.sh x y di mana x dan y adalah dua nos yang saya akan mencetak jumlah

Keadaan 2: Apabila nombor dimasukkan sebagai hujah baris arahan, anda akan mendapat hasil seperti yang ditunjukkan.

$ ./Dua nombor.SH 4 5 Jumlah 4 dan 5 adalah 9

Oleh itu skrip shell di atas memenuhi syarat seperti yang dicadangkan dalam soalan.

3. Anda perlu mencetak nombor tertentu mengatakan 10572, dengan urutan terbalik menggunakan skrip shell supaya input disediakan menggunakan argumen baris arahan sahaja. Sekiranya data input tidak disediakan sebagai hujah baris arahan, ia harus membuang dan kesilapan dan harus mencadangkan, cara menggunakan skrip. Tulis skrip tetapi sebelum itu beritahu saya algoritma yang perlu dilaksanakan di sini.

Algoritma

  1. 1. Biarkan nombor input = n
  2. 2. Tetapkan Rev = 0, SD = 0 (Digitis Single dan Tunggal ke 0)
  3. 3. n % 10, akan menemui dan memberikan angka paling kiri tunggal
  4. 4. Nombor terbalik dijana sebagai Rev * 10 + SD
  5. 5. Kurangkan nombor input (n) dengan 1.
  6. 6. jika n> 0, maka goto langkah 3 lain goto setp 7
  7. 7. Cetak Rev

Sekarang sekali lagi, buat fail yang dipanggil 'nombor.sh'Dan tambahkan kod berikutnya.

#!/bin/bash if [$# -ne 1] kemudian echo "penggunaan: $ 0 nombor" echo "saya akan menemui terbalik nombor yang diberikan" echo "untuk misalnya. $ 0 0123, saya akan mencetak 3210 "keluar 1 fi n = $ 1 rev = 0 sd = 0 sementara [$ n -gt 0] do sd =" expr $ n % 10 "rev =" expr $ rev \* 10 + $ sd "n =" expr $ n / 10 "selesai echo" nombor terbalik adalah $ rev "

Beri kebenaran melaksanakan fail dan jalankan skrip seperti yang ditunjukkan di bawah.

# chmod 755 nombor.h

Keadaan 1: Apabila input tidak disediakan sebagai hujah baris arahan, anda akan mendapat output berikut.

Output sampel
./nombor.Penggunaan SH: ./nombor.Nombor sh saya akan dapati sebaliknya nombor yang diberikan untuk eg ... /2.SH 123, saya akan mencetak 321

Keadaan 2: Apabila input disediakan sebagai hujah baris arahan.

$ ./nombor.Nombor terbalik SH 10572 ialah 27501

Skrip di atas berfungsi dengan sempurna dan outputnya adalah apa yang kami perlukan.

4. Anda sepatutnya mengira pengiraan nombor sebenar secara langsung dari terminal dan bukan skrip shell. Apa yang akan anda lakukan (katakan nombor sebenar adalah 7.56 dan 2.453)?
Jawapan: Kita perlu menggunakan arahan BC dengan cara yang istimewa seperti yang diterangkan di bawah. Output echo 7.56 + 2.453 harus dipanaskan untuk BC.

Contohnya, jalankan arahan berikut untuk mengira nombor dalam masa nyata menggunakan BC arahan seperti yang ditunjukkan.

$ echo 7.56 + 2.453 | BC 10.013
5. Anda sepatutnya mencari nilai pi sehingga 100 tempat perpuluhan, apakah cara paling mudah untuk menyelesaikan hasilnya.
Jawapan: Cara paling mudah untuk mencari nilai pi, betul sehingga 100 tempat perpuluhan kita hanya perlu mengeluarkan arahan di bawah.
# pi 100 3.1415926535897932384626433832795028841971693937510582097494459230781640628620899986280348253421706

Jelas! Kita mesti mempunyai pakej 'pi'Dipasang. Hanya buat Apt atau yum untuk mendapatkan pakej yang diperlukan untuk dipasang 'pi'ke pengedaran yang anda gunakan.

Itu sahaja buat masa ini. Saya akan berada di sini lagi dengan artikel menarik yang lain tidak lama lagi. Sehingga kemudian ditantikan dan disambungkan ke Tecmint.com. Jangan lupa untuk memberi kami maklum balas berharga di bahagian komen di bawah.