OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

<Trước | Nội dung | Tiếp theo>

Tổng hợp Up

Với việc bổ sung các tham số vị trí, giờ đây chúng ta có thể viết các tập lệnh khá chức năng. Đối với các tác vụ đơn giản, lặp đi lặp lại, các tham số vị trí giúp viết các hàm shell rất hữu ích có thể được đặt trong hộp của người dùng. .bashrc tập tin.

Của chúng tôi sys_info_page chương trình ngày càng phức tạp và phức tạp. Đây là danh sách đầy đủ, với những thay đổi gần đây nhất được nêu bật:



#! / bin / bash


#sys_info_page: chương trình xuất ra trang thông tin hệ thống


PROGNAME=$(tên cơ sở $0)

TITLE = "Báo cáo thông tin hệ thống cho $ HOSTNAME" CURRENT_TIME = $ (ngày + "% x% r% Z")

TIMESTAMP = "Được tạo ra $ CURRENT_TIME, bởi $ USER"


report_uptime () { mèo <<- _EOF_

Thời gian hoạt động hệ thống

$(thời gian hoạt động)

_EOF_ trở lại

#! / bin / bash


#sys_info_page: chương trình xuất ra trang thông tin hệ thống


PROGNAME=$(tên cơ sở $0)

TITLE = "Báo cáo thông tin hệ thống cho $ HOSTNAME" CURRENT_TIME = $ (ngày + "% x% r% Z")

TIMESTAMP = "Được tạo ra $ CURRENT_TIME, bởi $ USER"


report_uptime () { mèo <<- _EOF_

Thời gian hoạt động hệ thống

$(thời gian hoạt động)

_EOF_ trở lại


}


report_disk_space () { cat <<- _EOF_

Sử dụng không gian đĩa

$(df -h)

_EOF_ trở lại

}


report_home_space () {

if [[$ (id -u) -eq 0]]; sau đó mèo << - _EOF_

Sử dụng không gian gia đình (Tất cả người dùng)

$ (du -sh / home / *)

_EOF_

khác

con mèo << - _EOF_

Sử dụng không gian gia đình ($ USER)

$ (du -sh $ HOME)

_EOF_

fi trở lại

}


sử dụng () {

echo "$ PROGNAME: using: $ PROGNAME [-f tệp | -i]" trở lại

}


write_html_page () {cat << - _EOF_

$ TITLE

$ TITLE

$ TIMESTAMP

$ (report_uptime)

$ (report_disk_space)

$ (report_home_space)

_EOF_ trở lại

}


# xử lý tùy chọn dòng lệnh

}


report_disk_space () { cat <<- _EOF_

Sử dụng không gian đĩa

$(df -h)

_EOF_ trở lại

}


report_home_space () {

if [[$ (id -u) -eq 0]]; sau đó mèo << - _EOF_

Sử dụng không gian gia đình (Tất cả người dùng)

$ (du -sh / home / *)

_EOF_

khác

con mèo << - _EOF_

Sử dụng không gian gia đình ($ USER)

$ (du -sh $ HOME)

_EOF_

fi trở lại

}


sử dụng () {

echo "$ PROGNAME: using: $ PROGNAME [-f tệp | -i]" trở lại

}


write_html_page () {cat << - _EOF_

$ TITLE

$ TITLE

$ TIMESTAMP

$ (report_uptime)

$ (report_disk_space)

$ (report_home_space)

_EOF_ trở lại

}


# xử lý tùy chọn dòng lệnh

hình ảnh

Tổng hợp Up


tương tác=

tên tệp =


trong khi [[-n $ 1]]; làm trường hợp $ 1 trong

-f | --tập tin)

thay đổi

tên tệp = $ 1

;;

tương tác=

tên tệp =


trong khi [[-n $ 1]]; làm trường hợp $ 1 trong

-f | --tập tin)


-i | - tương tác) tương tác = 1

;;

-h | --help) thoát sử dụng

;;

*) sử dụng> & 2

thoát 1

;;

ca esac

thực hiện


# chế độ tương tác


if [[-n $ tương tác]]; then while true; làm

read -p "Nhập tên tệp đầu ra:" tên tệp if [[-e $ filename]]; sau đó

read -p "'$ filename' tồn tại. Ghi đè? [y / n / q]>" trường hợp $ REPLY trong

Y | y) phá vỡ

;;

Q | q) echo "Chương trình đã kết thúc." lối ra

;;

*) tiếp tục

;;

nó C

elif [[-z $ filename]]; sau đó tiếp tục

khác

phá vỡ

fi

thực hiện

fi


# đầu ra trang html


if [[-n $ filename]]; sau đó

nếu chạm vào $ filename && [[-f $ filename]]; sau đó write_html_page> $ filename

khác

-i | - tương tác) tương tác = 1

;;

-h | --help) thoát sử dụng

;;

*) sử dụng> & 2

thoát 1

;;

ca esac

thực hiện


# chế độ tương tác


if [[-n $ tương tác]]; then while true; làm

read -p "Nhập tên tệp đầu ra:" tên tệp if [[-e $ filename]]; sau đó

read -p "'$ filename' tồn tại. Ghi đè? [y / n / q]>" trường hợp $ REPLY trong

Y | y) phá vỡ

;;

Q | q) echo "Chương trình đã kết thúc." lối ra

;;

*) tiếp tục

;;

nó C

elif [[-z $ filename]]; sau đó tiếp tục

khác

phá vỡ

fi

thực hiện

fi


# đầu ra trang html


if [[-n $ filename]]; sau đó

nếu chạm vào $ filename && [[-f $ filename]]; sau đó write_html_page> $ filename

khác


echo "$ PROGNAME: Không thể ghi tệp '$ filename'"> & 2 thoát 1

fi khác

write_html_trang

fi

echo "$ PROGNAME: Không thể ghi tệp '$ filename'"> & 2 thoát 1

fi khác

write_html_trang

fi


Chúng ta vẫn chưa xong đâu. Vẫn còn nhiều điều chúng ta có thể làm và những cải tiến chúng ta có thể thực hiện.


Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: