【シェル】基本的な使い方シェル

私はだけでなく、[予約]禁止と白ではない鮑彪注は、ブラシの賞賛やコメントのポイントは、歩くことを願っています
* この記事は何のシェル内の変数を説明することである、私はもっと、ゆっくりとしか作られない(ノート、特に必要がある特定の側面がある場合、あなたは)私は、関連する情報を持っている場合、私は問題を優先させて頂きます、コメントに返信することができます
。この記事ではどのようにCDを使用する方法を教えていないだろう、LSは、もはやこの基本的な根本的なPWDシェルコマンド。この記事では、次のような特徴を書きました:

ファイル名置換
コマンド置換
算術置換
処理>特殊なファイル名 - エスケープ文字\
単一引用符
区別>単一引用符と二重引用符 - 二重引用符

ファイル名置換

ファイル名置換(globbingと):?* [] → 一般ファジー検索ファジー・マッチングに使用される人気のポイント
これらの文字は、ワイルドカード(ワイルドカード)として知られて一致させるために使用されているが、次のように:
ワイルドカード
*マッチは、任意の文字のゼロ個以上の
?任意の文字に一致する
[いくつかの文字が]最初の角括弧に登場は、任意の1つの文字に一致する
ls /dev/ttyS*で始まるの/ dev / ttySファイルのファイル名に記載されている#
ls ch0?.doc#リストCH0を.doc形式[ここで何もすることができます]
ls ch0[0-2].doc#リストCH01。 ch02.doc ch00.docのDOCの
ls ch[012] [0-9].doc0,1,2,3,4から0,1,2 1の中間二桁の単語のような#記載されているch00.doc ch01.docのch02.docのch03.doc、 5,6,7,8,9

一致するファイル名をglobbingと注意は、現在のディレクトリch00.docとCH02場合のパラメータは、プログラムに渡される前に、と言うことですが、そのような上記のls CH0 [012]の.docコマンドとして、発売されていないシェルによって展開されますその後、lsコマンドのパラメータに渡された.DOCは、実際には2人のファイル名ではなく、一致する文字列です。

コマンド置換

コマンド置換:$()`または参照`アップして
シェルコマンドを実行し、その後、現在のコマンドラインにすぐに置換した結果を出力しますまず、私たちを見て、 ``などdateコマンドの出力を格納する変数の定義として:
DATE = date
エコー$ {DATE}

コマンド置換は、()$で表すことができます。
まったく同じ上記の行のDATE = $(DATE)#コマンド比較的速い上に書かれたように、初期または後期このバーは、その上の巧みな使用を書き込みます

算術置換

算術置換:$(())
算術演算のための、$(())を整数変数にシェル値では、同じ意味$ []は、例えば、と等価である:VAR=45
echo $(($VAR+3)) #结果是48
$(())にのみ使用される± * /と()演算子、およびのみ算術整数行うことができます!
$(())のみ±* /と()演算子であり、唯一の算術整数行うことができます!
$(())でのみ±* /および()演算子をすることができ、のみ行うことができます!整数演算

バイナリデジタル計算によれば
、N進塩基に従って解釈$ベースバンドを表す[ベース#1 N]、、、再び小数点以下で説明し、いくつかの操作が、あります。
echo $[2#10+11] #2的十进制就是2,11的十进制是11,他们两个相加就是13
echo $[8#10+11] #8的十进制是8,11的十进制是11,他们两个相加就是19
echo $[10#10+11] #10的十进制就是10,11的十进制是11,他们两个相加是21

エスケープ文字\

C言語と同様、\シェルのため、エスケープ文字として使用されている直後の単一の文字の除去(キャリッジリターン以外の特別な意味が)、他の言葉で、すぐにリテラル文字を取って、次の。例:
echo $SHELL
/ binに/ bashを
echo \$SHELL
$ SHELL
echo \\
\
たとえば、「$ $」という名前のファイルを作成するようになります
タッチ\ $ \ \ $
これは$エスケープを置くことで、その後、脱出するためにスペースを入れて、最後に$エスケープを得ました。仕事はそのようなことを書き込むことはできません、私たちが知っているようにそうすることを、自殺に等しいです。

そこにはありませんが、文字は特別な意味を持っているが、それはあまりにも多くのファイル名を使用し、あること、 -数。ファイル名作成したい場合-ファイル番号の先頭に、これは動作しません:
touch -hello
あなたは上記のコマンドを入力すると、次のエラーが表示されます。
タッチは:オプション無効- Hの
詳細については、「試しに--helpをタッチします。
でも、ターン\で義または不適切なレポート:
touch \-hello
タッチ:オプションを無効- H
詳細情報に努めタッチ--help」。

コマンドオプションとして数字で始まり、そしてないファイル名としてコマンドライン引数- UNIXコマンドの様々なと見なさ。あなたが対処する必要がある場合-ファイル名の番号の先頭、2つの方法があります
touch ./-hello

touch -- -hello
\表現が行継続した後、ラウンドノックアウト\、シェルはすぐにコマンドを実行しませんが、次に移動するには用法があります与えられた彼の党は、プロンプト続け>、ユーザーの入力を待ち続け、そしてコマンドが一緒に実行されるような最終的にはすべての継続行を受け取りました。たとえば:
ls \
> -l
@experience:二行以上がLS -lコマンドの出力、ノー書き込みに満たない2行を書かれた唯一の1行に相当し、これは非常に頻繁に使用される、例えば、あなたはパラメータの内側に、シェルで仕事を書くためにJavaを呼び出すです特に長いあなたが1行にそれを書くことはできませんが、今回はこの事を使用します。

単一引用符

単一引用符(ときキャリッジリターン単一引用符では、Enterキーを押しますエコー有効になります
と、C言語ではなく、文字区切り文字よりも、)シェルスクリプト単一引用符と二重引用符は文字列の区切り文字と同じであり、同じではありません。単一引用符でも、全ての文字のリテラル値を保持するために使用され、\と引用符内のキャリッジリターンも例外ではありませんが、文字列は単一引用符で表示することはできません引用は、キャリッジリターンを入力するようにペアリングされていない場合、シェルは、ペアを伴う重引用符を置くためにユーザに尋ねるプロンプトを与えていきます。例:
echo '$SHELL'
$ SHELL
echo 'ABC\(回车)
> DE'(再按一次回车结束命令)
ABC
DE

二重引用符

二重引用符は、1つの文字列として扱われるコンテンツを囲むために使用されています。これは、ワイルドカードの展開を防止するが、変数の展開を可能にします。これは、単一引用符とは異なるアプローチである
DATE=$(date)
echo "$DATE"
echo '$DATE'
ここに画像を挿入説明
あなたが一目で単一引用符と二重引用符の違いを知っているように、

公開された25元の記事 ウォン称賛25 ビュー2249

おすすめ

転載: blog.csdn.net/weixin_43071838/article/details/104529485