Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

exprposix - Trực tuyến trên đám mây

Chạy exprposix trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

Đây là lệnh exprposix có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


expr - đánh giá các đối số dưới dạng một biểu thức

SYNOPSIS


thể hiện toán hạnghữu ích. Cảm ơn !

MÔ TẢ


Sản phẩm thể hiện tiện ích sẽ đánh giá một biểu thức và ghi kết quả vào đầu ra tiêu chuẩn.

LỰA CHỌN


Không có.

TOÁN HẠNG


Biểu thức đơn được đánh giá bởi thể hiện sẽ được hình thành từ toán hạng toán hạng, như
được mô tả trong phần MÔ TẢ MỞ RỘNG. Ứng dụng sẽ đảm bảo rằng mỗi
các ký hiệu toán tử biểu thức:

( ) | & = > >= < <= != + - * / % :

và các biểu tượng số nguyênchuỗi trong bảng được cung cấp dưới dạng các đối số riêng biệt để
thể hiện.

STDIN


Không được sử dụng.

ĐẦU VÀO CÁC TẬP TIN


Không có.

MÔI TRƯỜNG BIẾN


Các biến môi trường sau đây sẽ ảnh hưởng đến việc thực hiện thể hiện:

NGÔN NGỮ Cung cấp giá trị mặc định cho các biến quốc tế hóa chưa được đặt hoặc
vô giá trị. (Xem tập Định nghĩa cơ bản của POSIX.1‐2008, Phần 8.2,
quốc tế hóa Biến ưu tiên quốc tế hóa
các biến được sử dụng để xác định giá trị của danh mục ngôn ngữ.)

LC_ALL Nếu được đặt thành giá trị chuỗi không trống, hãy ghi đè giá trị của tất cả các chuỗi khác
các biến quốc tế hóa.

LC_THU THẬP
Xác định ngôn ngữ cho hành vi của các phạm vi, các lớp tương đương và đa
các phần tử đối chiếu ký tự trong biểu thức chính quy và bởi chuỗi
Toán tử so sánh.

LC_CTYPE Xác định ngôn ngữ để diễn giải chuỗi byte dữ liệu văn bản
dưới dạng ký tự (ví dụ: byte đơn trái ngược với ký tự nhiều byte trong
đối số) và hành vi của các lớp ký tự trong biểu thức chính quy.

LC_MESSAGES
Xác định ngôn ngữ sẽ được sử dụng để ảnh hưởng đến định dạng và nội dung của
thông báo chẩn đoán được ghi vào lỗi tiêu chuẩn.

NLSPATH Xác định vị trí của danh mục thư để xử lý LC_MESSAGES.

BẤT NGỜ SỰ KIỆN


Mặc định.

GIỚI THIỆU


Sản phẩm thể hiện tiện ích sẽ đánh giá biểu thức và viết kết quả, theo sau là
, đến đầu ra tiêu chuẩn.

STDERR


Lỗi chuẩn chỉ được sử dụng cho các thông báo chẩn đoán.

OUTPUT CÁC TẬP TIN


Không có.

ĐA THẾ HỆ MÔ TẢ


Sự hình thành của biểu thức được đánh giá được trình bày trong bảng sau. Các
biểu tượng thể hiện, expr1expr2 đại diện cho các biểu thức được hình thành từ số nguyênchuỗi
các ký hiệu và các ký hiệu toán tử biểu thức (tất cả các đối số riêng biệt) bằng cách đệ quy
ứng dụng của các cấu trúc được mô tả trong bảng. Các biểu thức được liệt kê theo thứ tự
tăng mức độ ưu tiên, với các toán tử có mức độ ưu tiên ngang nhau được nhóm giữa
các dòng. Tất cả các toán tử sẽ được kết hợp trái.

┌───────────────── ──────────┐
Biểu hiệnMô tả
├───────────────── ──────────┤
expr1 | expr2 │ Trả về đánh giá của expr1 nếu nó là │
│ │ không rỗng cũng không bằng XNUMX; ngược lại, │
│ │ trả về đánh giá của expr2 nếu nó là │
│ │ không rỗng; ngược lại, bằng không. │
├───────────────── ──────────┤
expr1 & expr2 │ Trả về đánh giá của expr1 nếu │
│ │ không có biểu thức nào đánh giá là null hoặc │
│ │ không; nếu không, trả về số không. │
├───────────────── ──────────┤
│ │ Trả về kết quả của một số nguyên thập phân │
│ │ so sánh nếu cả hai đối số là │
│ │ số nguyên; nếu không, trả về kết quả │
│ │ so sánh chuỗi sử dụng ngôn ngữ- │
│ │ trình tự đối chiếu cụ thể. Kết quả │
│ │ của mỗi so sánh là 1 nếu │ được chỉ định
Mối quan hệ │ │ là true, hoặc 0 nếu mối quan hệ │
│ │ quan hệ là sai. │
expr1 = expr2 │ Bằng nhau. │
expr1 > expr2 │ Lớn hơn. │
expr1 >= expr2 │ Lớn hơn hoặc bằng. │
expr1 < expr2 │ Ít hơn. │
expr1 <= expr2 │ Nhỏ hơn hoặc bằng. │
expr1 != expr2 │ Không bằng nhau. │
├───────────────── ──────────┤
expr1 + expr2 │ Phép cộng số nguyên thập phân có giá trị │
│ │ đối số. │
expr1 - expr2 │ Phép trừ số nguyên thập phân có giá trị │
│ │ đối số. │
├───────────────── ──────────┤
expr1 * expr2 │ Phép nhân số nguyên thập phân có giá trị │
│ │ đối số. │
expr1 / expr2 │ Phép chia số nguyên của số nguyên thập phân- │
│ │ đối số có giá trị, tạo ra một số nguyên │
│ │ kết quả. │
expr1 % expr2 │ Phần dư của phép chia số thập phân │
│ │ đối số có giá trị nguyên. │
├───────────────── ──────────┤
expr1 : expr2 │ Kết hợp biểu thức; xem bên dưới. │
├───────────────── ──────────┤
│ ( thể hiện ) │ Các ký hiệu phân nhóm. Bất kỳ biểu thức nào cũng có thể là │
│ │ được đặt trong dấu ngoặc đơn. Dấu ngoặc đơn │
│ │ có thể được lồng vào độ sâu │
│ │ {EXPR_NEST_MAX}. │
├───────────────── ──────────┤
số nguyên │ Một đối số chỉ bao gồm một │
│ │ (tùy chọn) trừ một bậc theo sau là │
│ │ chữ số. │
chuỗi │ Một đối số chuỗi; xem bên dưới. │
└───────────────── ──────────┘
Phù hợp Biểu hiện
Sản phẩm ':' toán tử đối sánh sẽ so sánh chuỗi kết quả từ việc đánh giá expr1
với mẫu biểu thức chính quy kết quả từ việc đánh giá expr2. Đều đặn
cú pháp biểu thức phải được định nghĩa trong tập Định nghĩa cơ sở của POSIX.1‐2008,
Phần 9.3, Cơ bản Đều đặn Biểu thức, ngoại trừ việc tất cả các mẫu đều được neo vào
đầu chuỗi (nghĩa là chỉ các chuỗi bắt đầu từ ký tự đầu tiên của
chuỗi được đối sánh bởi biểu thức chính quy) và do đó, không xác định được liệu
'^' là một nhân vật đặc biệt trong bối cảnh đó. Thông thường, toán tử đối sánh sẽ trả về
chuỗi đại diện cho số ký tự được so khớp ('0' khi thất bại). Ngoài ra, nếu
mẫu chứa ít nhất một biểu thức con biểu thức chính quy "[\ (... \)]", chuỗi
được so khớp bởi biểu thức tham chiếu ngược "\ 1" sẽ được trả lại. Nếu tham chiếu ngược
biểu hiện "\ 1" không khớp, thì chuỗi null sẽ được trả về.

Chuỗi Toán hạng
Đối số chuỗi là đối số không thể được xác định là số nguyên đối số hoặc như
một trong các ký hiệu toán tử biểu thức được hiển thị trong phần OPERANDS.

Việc sử dụng các đối số chuỗi chiều dài, chất nền, chỉ số, hoặc là phù hợp với tạo ra kết quả không xác định.

EXIT TÌNH TRẠNG


Các giá trị thoát sau sẽ được trả về:

0 The biểu hiện đánh giá không null hoặc không.

1 The biểu hiện đánh giá là null hoặc không.

2 Không hợp lệ biểu hiện.

> 2 Đã xảy ra lỗi.

HẬU QUẢ OF LRI


Mặc định.

Sản phẩm tiếp theo phần đang nhiều thông tin.

ỨNG DỤNG SỬ DỤNG


Sau khi xử lý đối số bởi shell, thể hiện không cần thiết để có thể nói
sự khác biệt giữa một toán tử và một toán hạng ngoại trừ bởi giá trị. Nếu như "$ a" is '=', Các
chỉ huy:

thể hiện $a = '='

giống như:

thể hiện = = =

khi các đối số được chuyển đến thể hiện (và tất cả chúng có thể được coi là '=' nhà điều hành). Các
sau đây hoạt động đáng tin cậy:

thể hiện X $ a = X=

Cũng lưu ý rằng tập POSIX.1‐2008 này cho phép triển khai để mở rộng các tiện ích.
Sản phẩm thể hiện tiện ích cho phép các đối số số nguyên được đặt trước bằng dấu trừ một bậc. Cái này
có nghĩa là một đối số số nguyên có thể trông giống như một tùy chọn. Do đó, sự phù hợp
ứng dụng phải sử dụng "−−" cấu trúc của Hướng dẫn 10 của tập Định nghĩa cơ bản
của POSIX.1‐2008, Phần 12.2, Tiện ích cú pháp Hướng dẫn để bảo vệ các toán hạng của nó nếu có
là bất kỳ khả năng nào toán hạng đầu tiên có thể là một số nguyên âm (hoặc bất kỳ chuỗi nào có một
dấu trừ).

VÍ DỤ


Sản phẩm thể hiện tiện ích có một cú pháp khá khó khăn:

* Nhiều toán tử cũng là toán tử điều khiển shell hoặc các từ dành riêng, vì vậy chúng có
được thoát trên dòng lệnh.

* Mỗi phần của biểu thức bao gồm các lập luận riêng biệt, do đó, cách sử dụng tự do
ký tự là bắt buộc. Ví dụ:

┌───────────────────┬────────────
Không hợp lệHợp lệ
├───────────────────┼────────────
thể hiện 1 + 2 │ thể hiện 1 + 2 │
thể hiện "1 + 2" │ thể hiện 1 + 2 │
thể hiện 1 + (2 * 3) │ thể hiện 1 + \ (2 \ * 3 \) │
└───────────────────┴────────────
Trong nhiều trường hợp, các tính năng số học và chuỗi được cung cấp như một phần của lệnh shell
ngôn ngữ dễ sử dụng hơn các ngôn ngữ tương đương trong thể hiện. Các tập lệnh mới được viết nên
tránh thể hiện ủng hộ các tính năng mới trong shell; Thấy chưa Phần 2.5, Thông số
BiếnPhần 2.6.4, toán học Sự bành trướng.

Lệnh sau:

a = $ (expr $a + 1)

thêm 1 vào biến a.

Lệnh sau, dành cho "$ a" bằng một trong hai / usr / abc / file hay chỉ hồ sơ:

thể hiện $a : '. * / \ (. * \)' \| $a

trả về phân đoạn cuối cùng của tên đường dẫn (nghĩa là hồ sơ). Các ứng dụng nên tránh
tính cách '/' được sử dụng một mình như một đối số; thể hiện có thể giải thích nó là toán tử phân chia.

Lệnh sau:

thể hiện "// $ a" : '. * / \ (. * \)'

là một đại diện tốt hơn của ví dụ trước. Việc bổ sung "//" nhân vật
loại bỏ bất kỳ sự mơ hồ nào về toán tử chia và đơn giản hóa toàn bộ biểu thức.
Cũng lưu ý rằng tên đường dẫn có thể chứa các ký tự trong IFS biến và nên
được trích dẫn để tránh có "$ a" mở rộng thành nhiều đối số.

Lệnh sau:

thể hiện "$ VAR" : '. *'

trả về số ký tự trong VAR.

CƠ SỞ LÝ LUẬN


Trong một đề xuất ban đầu, ERE đã được sử dụng trong cú pháp biểu thức phù hợp. Điều này đã được thay đổi
sang BREs để tránh phá vỡ các ứng dụng lịch sử.

Việc sử dụng hàng đầu trong BRE là không xác định vì nhiều lịch sử
triển khai đã coi nó như một ký tự đặc biệt, mặc dù hệ thống của chúng
tài liệu. Ví dụ:

thể hiện foo : ^ foo thể hiện ^ foo : ^ foo

trả về 3 và 0 tương ứng trên các hệ thống đó; tài liệu của họ sẽ ngụ ý
đảo ngược. Do đó, điều kiện neo không được xác định để tránh phá vỡ lịch sử
tập lệnh dựa vào tính năng không có tài liệu này.

TƯƠNG LAI HƯỚNG DẪN


Không có.

Sử dụng exprposix trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

Ad