Một ít về shell script
Trong công việc đôi khi xử lý bằng shell script giúp ích cho bạn ít nhiều. Bạn có thể xem qua link: https://www.shellscript.sh/ Đầu tiên để chạy ra một file shell script ta làm các bước sau: Tạo ra một file giả sử tên là my-script.sh #!/bin/sh echo Hello World Sau đó chạy lệnh chmod ...
Trong công việc đôi khi xử lý bằng shell script giúp ích cho bạn ít nhiều.
Bạn có thể xem qua link: https://www.shellscript.sh/
Đầu tiên để chạy ra một file shell script ta làm các bước sau:
Tạo ra một file giả sử tên là my-script.sh
#!/bin/sh echo Hello World
Sau đó chạy lệnh
chmod +x my-script.sh
Muốn chạy file này ta gọi
./my-script.sh
Sử dụng alias khá đơn giản: bạn gán alias test_alias="ls", sau đó gõ test_alias ngoài commander lệnh được gán phía trên sẽ chạy.
FRAMGIApham.huy.cuong@pham:~/ll/shell-script$ alias test_alias="ls" FRAMGIApham.huy.cuong@pham:~/ll/shell-script$ test_alias 123456789 backup.sh test.txt FRAMGIApham.huy.cuong@pham:~/ll/shell-script$
Muốn tạo 1 function ta định nghĩa:
function hello_world { echo Hello World }
Muốn lấy option cùng lúc gọi file ta dùng getopts (https://www.mkssoftware.com/docs/man1/getopts.1.asp)
Ta có thể viết:
while getopts "ad" opt; do case $opt in a ) echo "option is a" ;; d ) echo "option is d" ;; esac done
Sau đó test thử:
FRAMGIApham.huy.cuong@pham:~/ll/shell-script$ ./backup.sh -a option is a FRAMGIApham.huy.cuong@pham:~/ll/shell-script$ ./backup.sh -d option is d FRAMGIApham.huy.cuong@pham:~/ll/shell-script$
Việc viết Shell-Script cũng không đến nỗi quá khó, thử sử dụng để viết một lênh riêng của bạn, ví dụ làm cho lệnh ls -l show ra bảng chẳng hạn:
Đầu tiên ta lấy dữ liệu từ lệnh ls -l bằng cách
OIFS=$IFS; IFS=$' '; list_files=($(ls -ls)); IFS=$OIFS; FILE_COUNTER="${#list_files[@]}"
Thêm các function header, body, footer
function header { echo "---------------------------------------------------------------------------------------" echo " Dir User Size Created at File name" echo "---------------------------------------------------------------------------------------" } function body { index=1 while [ $index -lt $FILE_COUNTER ] do echo "${list_files[$index]}" index=`expr $index + 1` done } function footer { total_file_counter=`expr $FILE_COUNTER - 1` echo "---------------------------------------------------------------------------------------" echo "Total: $total_file_counter files" }
Cuối cùng là gọi các function đã được định nghĩa ở trên ra:
header body footer
Ta thử chạy file list_file.sh trên command:
FRAMGIApham.huy.cuong@pham:~/ll/shell-script$ ./list_file.sh --------------------------------------------------------------------------------------- Dir User Size Created at File name --------------------------------------------------------------------------------------- 4 -rw-r--r-- 1 FRAMGIApham.huy.cuong FRAMGIAdomain^users 10 Th06 15 11:39 123456789 4 -rwxrw-rw- 1 FRAMGIApham.huy.cuong FRAMGIAdomain^users 1203 Th06 22 08:24 backup.sh 4 -rw-rw-rw- 1 FRAMGIApham.huy.cuong FRAMGIAdomain^users 10 Th06 15 11:39 test.txt --------------------------------------------------------------------------------------- Total: 3 files FRAMGIApham.huy.cuong@pham:~/ll/shell-script$
Chỉ là một ứng dụng nho nhỏ để làm cho việc show file list theo ý thích của bạn, cảm ơn và hi vọng bài viết giúp ích trong công việc của bạn