Vietnamen’s Weblog

Time, Chances, Diligence, Intelligence: which is the most important?

shell script

leave a comment »

Trước tiên, mình xin giới thiệu sơ qua về shell. Cũng như DOS của Windows, Linux-based cũng có môi trường riêng cho phép gõ các dòng lệnh, nhưng mạnh hơn rất nhiều so với DOS. Môi trường đó gọi là shell.

Có nhiều loại shell: bash shell (bash), c-shell (csh), bourne-shell (sh)… Trong khả năng hiểu biết của người viết, cũng nhằm mục đích phục vụ cho công việc cá nhân. Chỉ đề cập đến bash shell.

Open any filetype

– Write a shell script with name open

sudo gedit $HOME/bin/open

#!/bin/bash
# $# = number of argument
# $0 = name of the script
if [ $# -lt 1 ]; then
  echo "USAGE: $0 <filename> \n";
  echo "Open anyfile";
  exit;
fi

echo "Xin chao"

# $1 = string of the first argument
if [ -f $1 ]; then
case $1 in
 *.pdf)
   pdfopen --file $1;;
 *.tm)
   texmacs $1 & ;;
esac
fi

exit

Check the finish of a process

Khi bạn chạy background một chương trình mà thời gian dừng không biết trước, thời gian thực thi lại khá dài. Để kiểm tra thời gian chạy của chương trình đó, một script nhỏ có thể được dùng để kiểm tra.

sudo nano check_runtime.sh

#!/bin/bash
# suppose the name of the tool is ssake
# the script check every 2 minutes
while ps -aux | grep ssake | grep -v grep
do 
  sleep 2m
done
echo "Finish ssake"
date > time_complete_ssake.txt

Languages

Arithmetic operator

-lt  (less than)
-gt (greater than)
-ne (not equal)

Logical operators

-o  (or)

Statements

Mỗi lệnh trên 1 hàng, nếu không phải ngăn cách bằng dấu ;

Select statement

if [  ... ] ; then        # phải có khoảng trắng trước và sau mỗi [ hay ]
   ...
fi

References:

  1. http://docsrv.sco.com:507/en/OSUserG/_Passing_to_shell_script.html
  2. http://www.hsrl.rutgers.edu/ug/shell_help.html
  3. http://www.linux.com/feature/155903
  4. http://www.injunea.demon.co.uk/pages/page205.htm

References:

  1. http://en.wikipedia.org/wiki/Unix_shell

Written by vietnamen

Tháng Tư 25, 2009 lúc 5:01 chiều

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: