1. Trang chủ
  2. » Giáo Dục - Đào Tạo

035 shell scripting succinctly kho tài liệu training

46 82 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 154,9 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

File operators tests -d FILE True if file is a directory.. -e FILE True if file exists.. echo "Executing script: $0" echo "Archiving user: $1" # Lock the account passwd –l $1 # Create an

Trang 1

Shell Scripting

Part One

Trang 2

Shell Scripting

Part Two

Trang 3

What You Will Learn

● What scripts are

● The components that make up a script

● How to use variables in your scripts

● How to perform tests and make decisions

● How to accept input from a user

Trang 4

● Contain a series of commands

● An interpreter executes commands in the

script

● Anything you can type at the command line,

you can put in a script

● Great for automating tasks

Trang 8

The interpreter executes the script

Trang 9

$ ps -ef| grep 16804 | grep -v grep

Trang 10

Shebang or Not to Shebang

● If a script does not contain a shebang the

commands are executed using your shell

● You might get lucky Maybe Hopefully

● Different shells have slightly varying syntax

Trang 11

More than just shell scripts

Trang 12

● Variables are case sensitive

● By convention variables are uppercase

Trang 16

Assign command output to a variable

Trang 17

Assign command output to a variable

Trang 20

File operators (tests)

-d FILE True if file is a directory

-e FILE True if file exists

-f FILE True if file exists and is a regular file

-r FILE True if file is readable by you

-s FILE True if file exists and is not empty

-w FILE True if the file is writable by you

-x FILE True if the file is executable by you

Trang 21

String operators (tests)

-z STRING True if string is empty

-n STRING True if string is not empty

Trang 22

Arithmetic operators (tests)

arg1 –eq arg2 True if arg1 is equal to arg2.

arg1 –ne arg2 True if arg1 is not equal to arg2.

arg1 –lt arg2 True if arg1 is less than arg2.

arg1 –le arg2 True if arg1 is less than or equal to arg2.

arg1 –gt arg2 True if arg1 is greater than arg2.

arg1 –ge arg2 True if arg1 is greater than or equal to arg2.

Trang 29

for VARIABLE_NAME in ITEM_1 ITEM_N do

Trang 31

COLORS="red green blue"

for COLOR in $COLORS

do

echo "COLOR: $COLOR"

done

Trang 33

$ ls

bear.jpg man.jpg pig.jpg rename-pics.sh

$ /rename-pics.sh

Renaming bear.jpg to 2015-03-06-bear.jpg

Renaming man.jpg to 2015-03-06-man.jpg

Renaming pig.jpg to 2015-03-06-pig.jpg

$ ls

2015-03-06-bear.jpg 2015-03-06-man.jpg

2015-03-06-pig.jpg rename-pics.sh

$

Trang 35

echo "Executing script: $0"

echo "Archiving user: $1"

# Lock the account

passwd –l $1

# Create an archive of the home directory.

tar cf /archives/${1}.tar.gz /home/${1}

Trang 36

$ /archive_user.sh elvis

Executing script: /archive_user.sh

Archiving user: elvis

passwd: password expiry information changed tar: Removing leading `/' from member names

$

Trang 37

USER=$1 # The first parameter is the user.

echo "Executing script: $0"

echo "Archiving user: $USER"

# Lock the account

passwd –l $USER

# Create an archive of the home directory.

tar cf /archives/${USER}.tar.gz /home/${USER}

Trang 38

echo "Executing script: $0"

for USER in $@

do

echo "Archiving user: $USER"

# Lock the account

passwd –l $USER

# Create an archive of the home directory.

tar cf /archives/${USER}.tar.gz /home/${USER}

done

Trang 39

$ /archive_user.sh chet joe

Executing script: /archive_user.sh

Archiving user: chet

passwd: password expiry information changed tar: Removing leading `/' from member names

Archiving user: joe

passwd: password expiry information changed tar: Removing leading `/' from member names

$

Trang 40

Accepting User Input (STDIN)

The read command accepts STDIN

Syntax:

read -p "PROMPT" VARIABLE

Trang 41

read –p "Enter a user name: " USER

echo "Archiving user: $USER"

# Lock the account

passwd –l $USER

# Create an archive of the home directory.

tar cf /archives/${USER}.tar.gz /home/${USER}

Trang 42

$ /archive_user.sh

Enter a user name: mitch

Archiving user: mitch

passwd: password expiry information changed tar: Removing leading `/' from member names

$

Trang 45

for VARIABLE_NAME in ITEM_1 ITEM_N do

Trang 46

Summary, continued.

Positional Parameters:

$0, $1, $2 … $9

$@

Comments start with #.

Use read to accept input.

Ngày đăng: 17/11/2019, 08:18

TỪ KHÓA LIÊN QUAN