.bashrc
それを忘れるために、Bash シェル スクリプト ファイルと同様に、各 Bash シェル スクリプト ファイルの上部にも次のように定義します。
# Allow to define an alias.
#
shopt -s expand_aliases
# Defines a function given a name, empty parentheses and a block of commands enclosed in braces.
#
# @param name the name of the function.
# @param parentheses the empty parentheses. (optional)
# @param commands the block of commands enclosed in braces.
# @return 0 on success, n != 0 on failure.
#
alias def=function
# Defines a value, i.e. read-only variable, given options, a name and an assignment of the form =value.
#
# Viable options:
# * -i - defines an integer value.
# * -a - defines an array value with integers as keys.
# * -A - defines an array value with strings as keys.
#
# @param options the options. (optional)
# @param name the name of the value.
# @param assignment the equals sign followed by the value.
# @return 0 on success, n != 0 on failure.
#
alias val="declare -r"
# Defines a variable given options, a name and an assignment of the form =value.
#
# Viable options:
# * -i - defines an integer variable.
# * -a - defines an array variable with integers as keys.
# * -A - defines an array variable with strings as keys.
#
# @param options the options. (optional)
# @param name the name of the variable.
# @param assignment the equals sign followed by the value. (optional)
# @return 0 on success, n != 0 on failure.
#
alias var=declare
# Declares a function as final, i.e. read-only, given a name.
#
# @param name the name of the function.
# @return 0 on success, n != 0 on failure.
#
alias final="readonly -f"
上記の定義により、たとえば次のように言えます。
def foo { echo bar; }
.
final foo
var foo=bar
val foo=bar
コメントで示されているようvar -g foo=bar
に、グローバル (-g) 変数 (var) やval -Ai foobar=([foo]=0 [bar]=1)
読み取り専用 (val)、整数 (-i) 値で構成される連想配列 (-A)など、さまざまな変数フラグを組み合わせて一致させることができます。 .
暗黙的な変数のスコープも、このアプローチに付属しています。また、新しく導入されたキーワードdef
、val
、var
およびfinal
は、JavaScript、Java、Scala などの言語でプログラミングを行うソフトウェア エンジニアなら誰でも知っているはずです。