Pertanyaan dan Jawaban Wawancara Praktis tentang Linux Shell Scripting
Dengan tanggapan luar biasa yang kami dapatkan pada artikel Seri Wawancara, yang pertama dari jenisnya di situs web Panduan Linux mana pun dalam bentuk Suka, Masukan dalam komentar, serta Alamat Email pribadi membuat kami berpindah dari satu artikel ke artikel berikutnya. artikel.
Berikut ini link ke artikel Seri Wawancara yang telah dipublikasikan di linux-console.net, di mana kami telah membahas banyak topik yaitu, FTP, MySQL, Apache, Scripting, Perintah Linux, dll.
Melanjutkan ke seri di atas, di sini kami hadir dengan 5 Pertanyaan Wawancara Linux yang luar biasa dan jawabannya. Dukungan Anda (Pembaca dan Pengunjung tetap linux-console.net) selalu dibutuhkan untuk menyukseskannya.
1. Tulis skrip shell untuk mendapatkan tanggal, waktu, nama pengguna, dan direktori kerja saat ini.
Sekarang buat file bernama 'userstats.sh' dan tambahkan kode berikut ke dalamnya.
#!/bin/bash
echo "Hello, $LOGNAME"
echo "Current date is `date`"
echo "User is `who i am`"
echo "Current directory `pwd`"
Tempatkan izin eksekusi dan jalankan skrip seperti yang ditunjukkan di bawah ini.
chmod 755 userstats.sh
./userstats.sh
Contoh Keluaran
Hello, avi
Current date is Sat Jun 7 13:05:29 IST 2014
User is avi pts/0 2014-06-07 11:59 (:0)
Current directory /home/avi/Desktop
2. Tulis Skrip Shell yang menambahkan dua angka jika disediakan sebagai Argumen Baris perintah dan jika kedua angka tersebut tidak dimasukkan, maka akan dihasilkan Pesan Kesalahan bersama dengan satu Baris deskripsi cara menggunakan.
Sekali lagi buat file bernama 'two-numbers.sh' dan tambahkan konten berikut ke dalamnya.
#!/bin/bash
The Shebang
if [ $# -ne 2 ]
If two Inputs are not received from Standard Input
then
then execute the below statements
echo "Usage - $0 x y"
# print on standard output, how-to use the script (Usage - ./1.sh x y )
echo " Where x and y are two nos for which I will print sum"
# print on standard output, “Where x and y are two nos for which I will print sum ”
exit 1
# Leave shell in Error Stage and before the task was successfully carried out.
fi
End of the if Statement.
echo "Sum of $1 and $2 is `expr $1 + $2`"
# If the above condition was false and user Entered two numbers as a command Line Argument,
it will show the sum of the entered numbers.
Tetapkan izin pelaksana pada file dan jalankan skrip seperti yang ditunjukkan di bawah ini.
chmod 755 two-numbers.sh
Kondisi 1: Menjalankan skrip tanpa memasukkan dua angka sebagai argumen baris perintah, Anda akan mendapatkan output berikut.
Contoh Keluaran
./two-numbers.sh
Usage - ./two-numbers.sh x y
Where x and y are two nos for which I will print sum
Kondisi 2: Ketika Angka dimasukkan sebagai argumen baris perintah, Anda akan mendapatkan hasil seperti yang ditunjukkan.
./two-numbers.sh 4 5
Sum of 4 and 5 is 9
Oleh karena itu skrip shell di atas memenuhi kondisi seperti yang disarankan dalam pertanyaan.
3. Anda perlu mencetak Nomor tertentu, katakanlah 10572, dalam urutan terbalik menggunakan skrip Shell sehingga input diberikan hanya menggunakan Argumen Baris perintah. Jika data input tidak disediakan sebagai Argumen Baris Perintah, data tersebut akan muncul dan error serta menyarankan cara menggunakan skrip. Tulis skripnya tetapi sebelum itu beri tahu saya algoritma yang perlu diterapkan di sini.
Algoritma
- 1. Misalkan Nomor Masukan=n
- 2. Atur rev=0, sd=0 (Mundur dan satu digit diatur ke 0)
- 3. n % 10, akan mencari dan memberikan satu digit paling kiri
- 4. nomor mundur dihasilkan sebagai rev * 10 + sd
- 5. Kurangi Nomor Input (n) sebanyak 1.
- 6. jika n > 0, lanjutkan ke langkah 3 lagi ke setp 7
- 7. Cetak putaran
Sekarang lagi, buat file bernama 'numbers.sh' dan tambahkan kode berikut ini.
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: $0 number"
echo " I will find reverse of given number"
echo " For eg. $0 0123, I will print 3210"
exit 1
fi
n=$1
rev=0
sd=0
while [ $n -gt 0 ]
do
sd=`expr $n % 10`
rev=`expr $rev \* 10 + $sd`
n=`expr $n / 10`
done
echo "Reverse number is $rev"
Berikan izin eksekusi pada file dan jalankan skrip seperti yang ditunjukkan di bawah ini.
chmod 755 numbers.h
Kondisi 1: Ketika Input tidak diberikan sebagai argumen baris perintah, Anda akan mendapatkan output berikut.
Contoh Keluaran
./numbers.sh
Usage: ./numbers.sh number
I will find reverse of given number
For eg. ./2.sh 123, I will print 321
Kondisi 2: Saat Input diberikan sebagai Argumen baris perintah.
./numbers.sh 10572
Reverse number is 27501
Skrip di atas berfungsi dengan sempurna dan hasilnya sesuai dengan yang kami butuhkan.
4. Anda seharusnya menghitung penghitungan bilangan real langsung dari terminal dan bukan skrip shell apa pun. Apa yang akan Anda lakukan (misalkan bilangan realnya adalah 7,56 dan 2,453)?
Misalnya, jalankan perintah berikut untuk menghitung angka secara real time menggunakan perintah bc seperti yang ditunjukkan.
echo 7.56 + 2.453 | bc
10.013
5. Anda seharusnya mencari nilai pi hingga 100 tempat desimal, cara termudah untuk mendapatkan hasilnya.
pi 100
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067
Jelas sekali! Kita harus menginstal paket 'pi'. Lakukan saja apt atau yum untuk mendapatkan paket yang diperlukan untuk menginstal 'pi' ke distribusi yang Anda gunakan.
Itu saja untuk saat ini. Saya akan segera berada di sini lagi dengan artikel menarik lainnya. Sampai saat itu, pantau terus dan terhubung ke linux-console.net. Jangan lupa untuk memberi kami umpan balik yang berharga di bagian komentar di bawah.