Saya baru mengenal pemrograman skrip bash.
Saya ingin mengimplementasikan skrip bash 'deploymLog', yang menerima sebagai input argumen satu string (nama).
[root@localhost Desktop]# ./deploymLog.sh name
di sini saya ingin meneruskan argumen string (nama) melalui baris perintah
Sebagai langkah awal, saya perlu menambahkan cap waktu saat ini bersama dengan string input ini ke file log katakanlah Logone.txt
di direktori saat ini dalam format di bawah ini:
[name]=[System time timestamp1]
Bagaimana itu mungkin?
[[ -n "$name" ]]
bagian apa yang sedang dilakukan.Argumen baris perintah Shell dapat diakses melalui
$1
(pertama),$n
(ke-n), atau$*
(semua argumen), jadi skrip Anda harus dimulai:Sekarang argumen nama dapat diakses dari skrip sebagai
$name
.Untuk mendapatkan cap waktu gunakan
date(1)
perintah dan berikan penentu format sehingga menghasilkan format yang Anda inginkan:Sekarang
$now
berisi tanggal dan waktu saat ini.Jadi Anda dapat membuat file log Anda dengan demikian:
Anda lebih baik menggunakan fungsi shell untuk mencatat pesan Anda karena akan lebih mudah digunakan:
Perhatikan bahwa fungsi shell mengakses argumen mereka sendiri dengan cara yang sama seperti skrip (via
$1
dll.)Jadi skrip awal terlihat seperti ini:
(perhatikan file log tidak dalam format persis yang Anda tentukan; itu dalam format yang lebih baik dengan stempel waktu di awal setiap baris).
sumber
jalankan "bash deploymLog.sh terserah", dan Anda mendapat x.log dengan
sumber
name=$1
. Variabel $ name tidak pernah digunakan, karena Anda hanya menampilkan string 'nama' secara harfiah.name="$1"