Python nếu khác thì thoát
Một vài biến được sử dụng bởi Bash được mô tả trong các chương khác nhau. các biến để kiểm soát các cơ sở kiểm soát công việc (xem) _ ($_, dấu gạch dưới. ) Khi khởi động trình bao, hãy đặt thành tên đường dẫn được sử dụng để gọi trình bao hoặc tập lệnh trình bao đang được thực thi như được truyền trong môi trường hoặc danh sách đối số. Sau đó, mở rộng đến đối số cuối cùng cho lệnh đơn giản trước đó được thực hiện ở phía trước, sau khi mở rộng. Cũng được đặt thành tên đường dẫn đầy đủ được sử dụng để gọi từng lệnh được thực thi và được đặt trong môi trường được xuất cho lệnh đó. Khi kiểm tra thư, tham số này giữ tên của tệp thư BASH Tên đường dẫn đầy đủ được sử dụng để thực thi phiên bản hiện tại của Bash BASHOPTS Một danh sách các tùy chọn trình bao đã bật được phân tách bằng dấu hai chấm. Mỗi từ trong danh sách là một đối số hợp lệ cho tùy chọn -s của lệnh dựng sẵn BASHPID Mở rộng đến ID quy trình của quy trình Bash hiện tại. Điều này khác với _ 0Một biến mảng kết hợp có các thành viên tương ứng với danh sách bí danh bên trong như được duy trì bởi nội trang _ 3Một biến mảng có giá trị là số tham số trong mỗi khung của ngăn xếp cuộc gọi thực thi bash hiện tại. Số tham số của chương trình con hiện tại (hàm shell hoặc tập lệnh được thực thi với BASH 2Một biến mảng chứa tất cả các tham số trong ngăn xếp cuộc gọi thực thi bash hiện tại. Tham số cuối cùng của lệnh gọi chương trình con cuối cùng nằm ở đầu ngăn xếp; . Khi một chương trình con được thực thi, các tham số được cung cấp sẽ được đẩy lên BASH 9Khi được tham chiếu, biến này mở rộng thành tên của trình bao hoặc tập lệnh trình bao (giống hệt với BASHOPTS 4Một biến mảng kết hợp có các thành viên tương ứng với bảng băm bên trong của các lệnh như được duy trì bởi nội trang BASHOPTS 7Lệnh hiện đang được thực thi hoặc sắp được thực thi, trừ khi trình bao đang thực thi lệnh do bẫy, trong trường hợp đó, lệnh được thực thi tại thời điểm bẫy. Nếu BASHOPTS 9Giá trị được sử dụng để đặt mức độ tương thích của trình bao. Xem , để biết mô tả về các mức độ tương thích khác nhau và tác dụng của chúng. Giá trị có thể là một số thập phân (e. g. , 4. 2) hoặc một số nguyên (e. g. , 42) tương ứng với mức tương thích mong muốn. Nếu shopt 4Nếu biến này được đặt khi Bash được gọi để thực thi tập lệnh shell, thì giá trị của nó sẽ được mở rộng và được sử dụng làm tên của tệp khởi động để đọc trước khi thực thi tập lệnh. Nhìn thấy shopt 5Đối số lệnh cho tùy chọn gọi -c shopt 6Một biến mảng có thành viên là số dòng trong tệp nguồn trong đó mỗi thành viên tương ứng của BASHOPTS 3Một danh sách các thư mục được phân tách bằng dấu hai chấm trong đó trình bao tìm kiếm các nội trang có thể tải động được chỉ định bởi lệnh BASHOPTS 5Một biến mảng có các phần tử được toán tử nhị phân ‘=~’ gán cho lệnh điều kiện BASHOPTS 7Một biến mảng có các thành viên là tên tệp nguồn trong đó tên hàm trình bao tương ứng trong biến mảng BASHPID 2Được tăng thêm một trong mỗi môi trường vỏ con hoặc vỏ con khi vỏ bắt đầu thực thi trong môi trường đó. Giá trị ban đầu là 0. Nếu BASHPID 4Biến mảng chỉ đọc (xem ) có thành viên nắm giữ thông tin phiên bản cho phiên bản Bash này. Các giá trị được gán cho các thành viên mảng như sau BASHPID 5Số phiên bản chính (bản phát hành) BASHPID 6Số phiên bản phụ (phiên bản) BASHPID 7cấp độ bản vá BASHPID 8Phiên bản xây dựng BASHPID 9Tình trạng phát hành (e. g. , $$ 1Giá trị của $$ 3Số phiên bản của phiên bản hiện tại của Bash $$ 4Nếu được đặt thành một số nguyên tương ứng với bộ mô tả tệp hợp lệ, Bash sẽ ghi đầu ra theo dõi được tạo khi 'set -x' được bật cho bộ mô tả tệp đó. Điều này cho phép tách đầu ra theo dõi khỏi các thông báo chẩn đoán và lỗi. Bộ mô tả tệp bị đóng khi $$ 8Đặt số lượng giá trị trạng thái con đã thoát để shell ghi nhớ. Bash sẽ không cho phép giảm giá trị này xuống dưới mức tối thiểu bắt buộc của POSIX và có giá trị tối đa (hiện tại là 8192) mà giá trị này không được vượt quá. Giá trị tối thiểu phụ thuộc vào hệ thống $$ 9Được sử dụng bởi lệnh BASHPID 3Một chỉ mục vào BASHPID 5Dòng lệnh hiện tại. Biến này chỉ khả dụng trong các hàm trình bao và các lệnh bên ngoài được gọi bởi các tiện ích hoàn thành có thể lập trình (xem tài liệu tham khảo) BASHPID 6Chỉ số của vị trí con trỏ hiện tại so với phần đầu của lệnh hiện tại. Nếu vị trí con trỏ hiện tại ở cuối lệnh hiện tại, giá trị của biến này bằng BASHPID 8Đặt thành một giá trị số nguyên tương ứng với loại hoàn thành đã cố gắng khiến hàm hoàn thành được gọi. TAB, để hoàn thành bình thường, '?', để liệt kê các lần hoàn thành sau các tab liên tiếp, '. ’, để liệt kê các lựa chọn thay thế khi hoàn thành một phần từ, ‘@’, để liệt kê các cách hoàn thành nếu từ không bị sửa đổi hoặc ‘%’, để hoàn thành menu. Biến này chỉ khả dụng trong các hàm trình bao và các lệnh bên ngoài được gọi bởi các tiện ích hoàn thành có thể lập trình (xem tài liệu tham khảo) BASHPID 9Khóa (hoặc khóa cuối cùng của chuỗi khóa) được sử dụng để gọi hàm hoàn thành hiện tại BASHPID 0Tập hợp các ký tự mà thư viện Readline coi là dấu tách từ khi thực hiện hoàn thành từ. Nếu BASHPID 2Một biến mảng bao gồm các từ riêng lẻ trong dòng lệnh hiện tại. Dòng được chia thành các từ như Readline sẽ chia nó, sử dụng BASHPID 4Một biến mảng mà từ đó Bash đọc các phần hoàn thành có thể được tạo bởi hàm shell được gọi bởi cơ sở hoàn thành có thể lập trình (xem). Mỗi phần tử mảng chứa một khả năng hoàn thành BASHPID 5Một biến mảng được tạo để giữ các bộ mô tả tệp cho đầu ra và đầu vào cho một đồng xử lý chưa được đặt tên (xem) BASHPID 6Một biến mảng chứa nội dung hiện tại của ngăn xếp thư mục. Các thư mục xuất hiện trong ngăn xếp theo thứ tự chúng được hiển thị bởi nội trang _ 01Nếu Bash tìm thấy biến này trong môi trường khi trình bao bắt đầu với giá trị 't', thì nó giả định rằng trình bao đang chạy trong bộ đệm trình bao Emacs và vô hiệu hóa chỉnh sửa dòng _ 02Được mở rộng và thực thi tương tự như Mỗi khi tham số này được tham chiếu, nó sẽ mở rộng thành số giây kể từ Unix Epoch dưới dạng giá trị dấu phẩy động với độ chi tiết micro giây (xem tài liệu về chức năng thư viện C _ 07Mỗi khi tham số này được tham chiếu, nó sẽ mở rộng thành số giây kể từ Unix Epoch (xem tài liệu về hàm thư viện C _ 11Id người dùng hiệu dụng bằng số của người dùng hiện tại. Biến này là chỉ đọc Danh sách các mẫu shell được phân tách bằng dấu hai chấm (xem phần ) xác định danh sách tên tệp sẽ bị bỏ qua khi tìm kiếm lệnh bằng cách sử dụng _ 19Trình chỉnh sửa được sử dụng làm mặc định bởi tùy chọn -e cho lệnh dựng sẵn Một danh sách các hậu tố được phân tách bằng dấu hai chấm để bỏ qua khi thực hiện hoàn thành tên tệp. Tên tệp có hậu tố khớp với một trong các mục trong shopt 7Một biến mảng chứa tên của tất cả các hàm hệ vỏ hiện có trong ngăn xếp cuộc gọi thực thi. Phần tử có chỉ số 0 là tên của bất kỳ hàm shell nào đang thực thi. Phần tử dưới cùng (phần tử có chỉ số cao nhất) là Biến này có thể được sử dụng với _ 35Nếu được đặt thành một giá trị số lớn hơn 0, hãy xác định mức lồng hàm tối đa. Các lời gọi hàm vượt quá mức lồng ghép này sẽ khiến lệnh hiện tại bị hủy bỏ Danh sách các mẫu được phân tách bằng dấu hai chấm xác định tập hợp tên tệp sẽ bị bỏ qua khi mở rộng tên tệp. Nếu tên tệp khớp với mẫu mở rộng tên tệp cũng khớp với một trong các mẫu trong _ 38Một biến mảng chứa danh sách các nhóm mà người dùng hiện tại là thành viên. Việc gán cho _ 41Tối đa ba ký tự kiểm soát việc mở rộng lịch sử, thay thế nhanh và mã thông báo (xem tài liệu tham khảo). Ký tự đầu tiên là ký tự mở rộng lịch sử, nghĩa là ký tự biểu thị bắt đầu mở rộng lịch sử, thông thường là '. ’. Ký tự thứ hai là ký tự biểu thị 'thay thế nhanh' khi được xem là ký tự đầu tiên trên một dòng, thường là '^'. Ký tự thứ ba tùy chọn là ký tự cho biết phần còn lại của dòng là một nhận xét khi được tìm thấy dưới dạng ký tự đầu tiên của một từ, thường là '#'. Ký tự nhận xét lịch sử làm cho lịch sử thay thế bị bỏ qua đối với các từ còn lại trên dòng. Nó không nhất thiết khiến trình phân tích cú pháp shell coi phần còn lại của dòng là một nhận xét _ 42Số lịch sử hoặc chỉ mục trong danh sách lịch sử của lệnh hiện tại. Các bài tập cho _ 45Một danh sách các giá trị được phân tách bằng dấu hai chấm kiểm soát cách các lệnh được lưu trong danh sách lịch sử. Nếu danh sách các giá trị bao gồm 'ignorespace', các dòng bắt đầu bằng ký tự khoảng trắng sẽ không được lưu trong danh sách lịch sử. Giá trị của 'ignoredups' khiến các dòng khớp với mục nhập lịch sử trước đó không được lưu. Giá trị của 'ignoreboth' là cách viết tắt của 'ignorespace' và 'ignoredups'. Giá trị của 'erasedups' khiến tất cả các dòng trước khớp với dòng hiện tại bị xóa khỏi danh sách lịch sử trước khi dòng đó được lưu. Bất kỳ giá trị nào không có trong danh sách trên đều bị bỏ qua. Nếu _ 49Tên của tệp mà lịch sử lệnh được lưu. Giá trị mặc định là ~/. bash_history _ 50Số dòng tối đa có trong tệp lịch sử. Khi biến này được gán một giá trị, tệp lịch sử sẽ bị cắt bớt, nếu cần, để chứa không quá số dòng đó bằng cách xóa các mục nhập cũ nhất. Tệp lịch sử cũng bị cắt bớt ở kích thước này sau khi ghi nó khi trình bao thoát. Nếu giá trị là 0, tệp lịch sử bị cắt bớt về kích thước bằng 0. Các giá trị không phải là số và các giá trị số nhỏ hơn 0 sẽ ngăn cản việc cắt bớt. Shell đặt giá trị mặc định thành giá trị của Một danh sách các mẫu được phân tách bằng dấu hai chấm được sử dụng để quyết định dòng lệnh nào sẽ được lưu vào danh sách lịch sử. Mỗi mẫu được neo ở đầu dòng và phải khớp với dòng hoàn chỉnh (không có dấu '*' ngầm được thêm vào). Mỗi mẫu được kiểm tra theo dòng sau khi áp dụng các kiểm tra được chỉ định bởi
_ 51Số lệnh tối đa cần nhớ trong danh sách lịch sử. Nếu giá trị là 0, các lệnh không được lưu trong danh sách lịch sử. Các giá trị số nhỏ hơn 0 dẫn đến mọi lệnh được lưu trong danh sách lịch sử (không có giới hạn). Shell đặt giá trị mặc định thành 500 sau khi đọc bất kỳ tệp khởi động nào Nếu biến này được đặt và không phải là null, thì giá trị của biến này được sử dụng làm chuỗi định dạng cho _ 63Chứa tên của một tệp có cùng định dạng với /etc/hosts nên được đọc khi trình bao cần hoàn thành tên máy chủ. Danh sách hoàn thành tên máy chủ có thể được thay đổi trong khi trình bao đang chạy; . Nếu _ 66Tên của máy chủ hiện tại _ 67Một chuỗi mô tả máy Bash đang chạy Kiểm soát hành động của trình bao khi nhận được ký tự _ 71Tên của tệp khởi tạo Readline, ghi đè giá trị mặc định của ~/. đầu vàorc _ 72Nếu Bash tìm thấy biến này trong môi trường khi trình bao khởi động, thì nó giả định rằng trình bao đang chạy trong bộ đệm trình bao Emacs và có thể tắt tính năng chỉnh sửa dòng tùy thuộc vào giá trị của _ 74Được sử dụng để xác định danh mục ngôn ngữ cho bất kỳ danh mục nào không được chọn cụ thể với một biến bắt đầu bằng _ 76Biến này ghi đè giá trị của _ 79Biến này xác định thứ tự đối chiếu được sử dụng khi sắp xếp kết quả mở rộng tên tệp và xác định hành vi của các biểu thức phạm vi, lớp tương đương và trình tự đối chiếu trong mở rộng tên tệp và khớp mẫu (xem ) _ 80Biến này xác định việc diễn giải các ký tự và hành vi của các lớp ký tự trong phần mở rộng tên tệp và khớp mẫu (xem tài liệu tham khảo) _ 81Biến này xác định ngôn ngữ được sử dụng để dịch các chuỗi trích dẫn kép đứng trước '$' (xem tài liệu tham khảo) _ 82Biến này xác định danh mục ngôn ngữ được sử dụng để định dạng số Biến này xác định danh mục ngôn ngữ được sử dụng cho định dạng dữ liệu và thời gian BASHOPTS 2Số dòng trong tập lệnh hoặc hàm trình bao hiện đang thực thi. Nếu _ 85Được sử dụng bởi lệnh $$ 2Một chuỗi mô tả đầy đủ loại hệ thống mà Bash đang thực thi, ở định dạng hệ thống cpu-công ty GNU tiêu chuẩn _ 90Tần suất (tính bằng giây) mà shell sẽ kiểm tra thư trong các tệp được chỉ định trong các biến _ 93Một biến mảng được tạo để giữ văn bản được đọc bởi nội trang _ 95Thư mục làm việc trước đó như được thiết lập bởi nội dung dựng sẵn _ 97Nếu được đặt thành giá trị 1, Bash sẽ hiển thị các thông báo lỗi được tạo bởi lệnh dựng sẵn _ 99Một chuỗi mô tả hệ điều hành Bash đang chạy trên đó BASH 00Một biến mảng (xem ) chứa danh sách các giá trị trạng thái thoát khỏi các quy trình trong quy trình tiền cảnh được thực thi gần đây nhất (có thể chỉ chứa một lệnh duy nhất) BASH 01Nếu biến này ở trong môi trường khi Bash khởi động, trình bao sẽ chuyển sang chế độ POSIX (xem ) trước khi đọc các tệp khởi động, như thể tùy chọn yêu cầu --posix đã được cung cấp. Nếu nó được đặt trong khi trình bao đang chạy, Bash sẽ bật chế độ POSIX, như thể lệnh đã được thực hiện. Khi Shell vào chế độ POSIX, nó sẽ đặt biến này nếu nó chưa được đặt BASH 02ID tiến trình của tiến trình cha của trình bao. Biến này là chỉ đọc BASH 03Nếu biến này được đặt và là một mảng, giá trị của mỗi phần tử được đặt được hiểu là một lệnh để thực thi trước khi in dấu nhắc chính ( BASH 05Nếu được đặt thành một số lớn hơn 0, thì giá trị này được sử dụng làm số lượng thành phần thư mục theo sau để giữ lại khi mở rộng chuỗi dấu nhắc BASH 08Giá trị của tham số này được mở rộng như BASH 10Giá trị của biến này được sử dụng làm lời nhắc cho lệnh BASH 13Giá trị của tham số này được mở rộng như BASH 15Thư mục làm việc hiện tại được thiết lập bởi nội dung dựng sẵn BASH 17Mỗi khi tham số này được tham chiếu, nó sẽ mở rộng thành một số nguyên ngẫu nhiên trong khoảng từ 0 đến 32767. Gán một giá trị cho biến này khởi tạo bộ tạo số ngẫu nhiên. Nếu BASH 19Bất kỳ đối số số nào được cung cấp cho lệnh Readline được xác định bằng cách sử dụng 'bind -x' (xem khi nó được gọi BASH 20Nội dung của bộ đệm dòng Readline, để sử dụng với 'bind -x' (xem phần ) BASH 21Vị trí của dấu (điểm chèn đã lưu) trong bộ đệm dòng Readline, để sử dụng với 'bind -x' (xem phần ). Các ký tự giữa điểm chèn và dấu thường được gọi là vùng BASH 22Vị trí của điểm chèn trong bộ đệm dòng Readline, để sử dụng với ‘bind -x’ (xem tài nguyên) BASH 23Biến mặc định cho nội trang BASH 25Biến này mở rộng thành số giây kể từ khi trình bao được khởi động. Gán cho biến này đặt lại số đếm thành giá trị được gán và giá trị được mở rộng trở thành giá trị được gán cộng với số giây kể từ khi gán. Số giây khi gọi trình bao và thời gian hiện tại luôn được xác định bằng cách truy vấn đồng hồ hệ thống. Nếu BASH 27Biến môi trường này mở rộng thành tên đường dẫn đầy đủ tới trình bao. Nếu nó không được đặt khi trình bao khởi động, Bash sẽ gán cho nó tên đường dẫn đầy đủ của trình bao đăng nhập của người dùng hiện tại BASH 28Một danh sách các tùy chọn trình bao đã bật được phân tách bằng dấu hai chấm. Mỗi từ trong danh sách là một đối số hợp lệ cho tùy chọn -o đối với lệnh dựng sẵn BASH 31Tăng lên một lần mỗi khi một phiên bản Bash mới được bắt đầu. Điều này nhằm mục đích đếm xem các vỏ Bash của bạn được lồng vào nhau sâu đến mức nào BASH 32Biến này mở rộng thành số giả ngẫu nhiên 32 bit mỗi khi nó được tham chiếu. Trình tạo số ngẫu nhiên không tuyến tính trên các hệ thống hỗ trợ /dev/urandom hoặc Giá trị của tham số này được sử dụng làm chuỗi định dạng chỉ định cách hiển thị thông tin thời gian cho các đường ống có tiền tố là từ dành riêng BASH 36Một chữ '%' BASH 37Thời gian trôi qua tính bằng giây BASH 38Số giây CPU sử dụng trong chế độ người dùng BASH 39Số giây CPU sử dụng trong chế độ hệ thống BASH 40Phần trăm CPU, được tính là (%U + %S) / %R Tùy chọn p là một chữ số chỉ định độ chính xác, số chữ số phân số sau dấu thập phân. Giá trị 0 khiến đầu ra không có dấu thập phân hoặc phân số. Có thể chỉ định tối đa ba vị trí sau dấu thập phân; . Nếu p không được chỉ định, giá trị 3 được sử dụng
Nếu biến này không được đặt, Bash hoạt động như thể nó có giá trị
Nếu giá trị là null, không có thông tin thời gian nào được hiển thị. Một dòng mới ở cuối được thêm vào khi chuỗi định dạng được hiển thị BASH 42Nếu được đặt thành một giá trị lớn hơn 0, thì Trong trình bao tương tác, giá trị được hiểu là số giây chờ một dòng đầu vào sau khi đưa ra lời nhắc chính. Bash kết thúc sau khi đợi số giây đó nếu một dòng đầu vào hoàn chỉnh không đến BASH 47Nếu được đặt, Bash sử dụng giá trị của nó làm tên của thư mục trong đó Bash tạo các tệp tạm thời để trình bao sử dụng |