シェル内の変数(定義変数、変数の変換と宣言、コマンドエイリアスの設定、環境変数の変更、スクリプトでのパラメーターの受け渡し)

変数の定義

1.変数とは

変数は、メモリの領域のアドレスです

2.変数の存在の意味

コマンドは絶えず変化するターゲットを操作できません

固定文字の文字列を使用して固定されていないターゲットを表すと、この問題を解決できます

シェルで変数を定義する方法

環境が閉じられた後、環境レベルの
エクスポートa = 1
は無効になります

最初のシェルでa = 1をエクスポートします。これは、この時点で有効になります。
ここに写真の説明を挿入

新しい環境(2番目のシェル)で表示する場合、変数の定義は無効です
ここに写真の説明を挿入

ユーザーレベルは、設定されたユーザー
vim〜 / .bash_profile
export a = 1に対してのみ有効です。

vim〜 / .bash_profile
ここに写真の説明を挿入

source〜 / .bash_profileこの時点で、2つのシェルでsourceコマンドを実行した後、変数を有効にすることができます。
ここに写真の説明を挿入
ここに写真の説明を挿入
ここに写真の説明を挿入

ただし、他のユーザーに切り替える場合は使用できません
ここに写真の説明を挿入

システムレベルの誰もが
vim / etc / profile
export a = 1を使用できます

ここに写真の説明を挿入
ここに写真の説明を挿入

変数名の定義で
は、「文字」、「」、「数字」を使用でき、数字で始めることはできません。
提案:
短い
変数名、すべて大文字を使用します。長い変数名は
、分子クラスを区別するために「」を使用します
例:
WESTOS
Westos_dd
Westos_ss

変数の翻訳と宣言

翻訳
\#転変換
译単一文字“” 弱い引用、バッチ解釈文字は翻訳できません“”“ `”“ $”“!”
''#強い引用
ここに写真の説明を挿入
ここに写真の説明を挿入

声明
a=1
echo $ab
echo ${a}b

a =(ls -l file)#aをコマンドとして定義
echo $ a
echo $ {a [0]}
コマンドの0番目の列を表示echo $ {a [3]}
echo $ {a [-1]}#コマンドのカウントダウンを表示最初の列
echo $ {a [*]}#コマンドのすべての列を表示します(以下と同じ)
echo $ {a [@]}
ここに写真の説明を挿入
ここに写真の説明を挿入

Linuxコマンドでのエイリアス設定

エイリアスsss = 'cat'#一時的な設定

環境1に設定、利用可能
ここに写真の説明を挿入

環境2、ggにカット

ここに写真の説明を挿入


vim〜/ .bashrc alias sss = 'cat'#ユーザーにのみ有効
ここに写真の説明を挿入
ここに写真の説明を挿入

vim / etc / bashrc
alias sss = 'cat'#システムのすべてのユーザーに有効

unalias sss#現在の環境でエイリアスを削除します
ここに写真の説明を挿入ここに写真の説明を挿入

ユーザー環境変数の変更

環境変数:
オペレーティングシステムでユーザーがリアルタイムで使用するコマンド検索パス

設定方法:
〜/ .bash_profile#ユーザーレベルの
エクスポートPATH = $ PATH:/ mnt

/ etc / bash_profile#システムレベルの
エクスポートPATH = $ PATH:/ mnt

この時点で絶対パスを追加せずにスクリプトを実行できます
ここに写真の説明を挿入

スクリプトでパラメータを渡す

非交互模式:
$0 is test.sh            $0 是脚本本身
$1 is westos             $1 是脚本后输入的第一串字符,2、3...以此类推
$2 is linux             
$3 is sss
$# is 3                  #  指脚本后输入的所有字符串个数
$* is westos linux sss   $* 指脚本后所输入的所有字符“westos linux sss”
$@ is westos linux sss   $@ 指脚本后所输入的所有字符"westos" "linux" "sss"

ここに写真の説明を挿入

∗および*および @との違い

ここに写真の説明を挿入
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/qq_42958401/article/details/108467479