bash シェルで $() と ${}、および $(()) と (()) を区別する方法
bash シェルでは、コマンドの置換に $( ) と ` ` (バックティック) が使用されます。また、$() はどのシェルでも使用できます。bash2 を使用する場合は問題ありません...
${ }を見てください...実際には変数の置換に使用されます。一般に、$var と ${var} の間に違いはありません。ただし、 ${ } を使用すると、変数名のスコープをより正確に定義できます。
ここでは、いくつかの例を使用して、${ } の特殊な関数のいくつかを説明します。
変数を次のように定義するとします。
file=/dir1/dir2/dir3/my.file.txt
${ } を使用して相互に置換し、異なる値を取得できます:
${file#*/}: 最初の / と左側の文字列を削除します: dir1/dir2/dir3/my.file.txt
${file##*/}: 最後の / と左側の文字列を削除します: my.file.txt
${file#*.}: 最初の . とその左側の文字列を削除します: file.txt
${file##*.}: 最後の . と左側の文字列を削除します: txt
${file%/*}: 最後の / と右側の文字列を削除します: /dir1/dir2/dir3##
#${file%%/*}: 最初の / と右側の文字列を削除します: (null 値)${file%.*}: 最後の . と右側の文字列を削除します: /dir1/dir2/dir3/my.file
${file%%.*}: 最初の . と右側の文字列を削除します: /dir1/dir2/dir3/my
% は右側を削除することを意味します (% はディスク上の $ の右側にあります)
単一のシンボルが最小一致であり、2 つのシンボルが最大一致です。
${file:0:5}: 左端の 5 バイトを抽出します: /dir1
${file:5:5}: 5 バイト目の右側から連続する 5 バイトを抽出します: /dir2
変数値の文字列を置き換えることもできます:
${file/dir/path}: 最初のディレクトリを path:/
に置き換えます。
パス1/ディレクトリ2/ディレクトリ3/my.file.txt${file//dir/path}: すべてのディレクトリを path:/
に置き換えます。
パス1/パス2/パス3/my.file.txt${ } を使用すると、さまざまな変数の状態 (未設定、null 値、null 以外の値) に値を割り当てることもできます。
${file-my.file.txt}: $file が設定されていない場合は、戻り値として my.file.txt を使用します。 (NULL 値と非 NULL 値は処理されません)
${file:-my.file.txt}: $file が設定されていないか空の場合、戻り値として my.file.txt を使用します。 (null 以外の値は処理されません)
${file my.file.txt}: $file が null 値または null 以外の値に設定されている場合、my.file.txt が戻り値として使用されます。 (未設定の場合は何も処理しません)
${file: my.file.txt}: $file が空でない値の場合、戻り値として my.file.txt を使用します。 (設定がない場合や空の場合は処理を行いません)
${file=my.file.txt}: $file が設定されていない場合は、my.file.txt を戻り値として使用し、$file を my.file.txt に割り当てます。 (NULL 値と非 NULL 値は処理されません)
${file:=my.file.txt}: $file が設定されていないか空の場合、戻り値として my.file.txt を使用し、$file を my.file.txt に割り当てます。 (null 以外の値は処理されません)
${file?my.file.txt}: $file が設定されていない場合は、my.file.txt を STDERR に出力します。 (NULL 値と非 NULL 値は処理されません)
${file:?my.file.txt}: $file が設定されていないか空の場合、my.file.txt を STDERR に出力します。 (null 以外の値は処理されません)
上記の理解は、未設定、null、および非 null の 3 つの代入状態を明確に区別する必要があるということです。
一般的に、: は null に関係します。: が含まれていない場合、null は影響を受けません。: が含まれている場合、null も影響を受けます。また、${#var} は変数値の長さを計算できます:
/dir1/dir2/dir3/my.file.txt がちょうど 27 バイトであるため、
${#file} は 27 を取得できます...
$(()) 目的:
整数演算に使用されます。
bash では、$(( )) の整数算術記号はおおよそ次のとおりです。
- * /: それぞれ「加算、減算、乗算、除算」。
%: 剰余演算
& | ^ !: それぞれ「AND、OR、XOR、NOT」演算。
###例:###wangnc>a=5;b=7;c=2;
wangnc>エコー $a $b
5 7
wangnc>エコー $(( a b*c))
19
wangnc>エコー $(((a*b)/c))
17
wangnc>エコー $(($a $b*$c))
19
ワング>
$(( )) 内の変数名は、次のように $(( )) の前に $ 記号を追加するか、$ 記号を付けなくても置き換えることができます。
$(( $a $b * $c)) は 19の結果も取得できます。
さらに、$(( )) は、異なるキャリー番号 (2 進数、8 進数、16 進数など) を使用して演算を実行することもできますが、出力結果はすべて 10 進数です。echo $((16#2a)) 結果は 42 (16 進数から 10 進数へ)
###(())の用法:###実際には、(( )) を使用するだけで変数値を再定義したり、テストを行ったりすることもできます。
a=5; ((a )) $a は 6として再定義できます
a=5; ((a--)) の場合、a=4a=5; b=7; ((a (( )) に使用される一般的なテスト記号は次のとおりです。
<:>:
より大きい
=:以上
==:に等しい
!=:と等しくない
以上がbash シェルで $() と ${}、および $(()) と (()) を区別する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

LinuxとWindowsのセキュリティモデルには、それぞれ独自の利点があります。 Linuxは、柔軟性とカスタマイズ可能性を提供し、ユーザーの権限、ファイルシステム許可、Selinux/Apparmorを通じてセキュリティを可能にします。 Windowsはユーザーフレンドリーに焦点を当てており、WindowsDefender、UAC、Firewall、BitLockerに依存してセキュリティを確保しています。

LinuxとWindowsはハードウェアの互換性が異なります。Windowsには広範なドライバーサポートがあり、Linuxはコミュニティとベンダーに依存します。 Linux互換性の問題を解決するために、RTL818888EUドライバーリポジトリのクローニング、コンパイル、インストールなど、ドライバーを手動でコンパイルできます。 Windowsユーザーは、パフォーマンスを最適化するためにドライバーを管理する必要があります。

仮想化サポートのLinuxとWindowsの主な違いは次のとおりです。1)LinuxはKVMとXenを提供し、優れたパフォーマンスと柔軟性を備えており、高いカスタマイズ環境に適しています。 2)Windowsは、友好的なインターフェイスを備えたHyper-Vを介した仮想化をサポートし、Microsoftソフトウェアに依存する企業に適したMicrosoft Ecosystemと密接に統合されています。

Linuxシステム管理者の主なタスクには、システムの監視とパフォーマンスチューニング、ユーザー管理、ソフトウェアパッケージ管理、セキュリティ管理とバックアップ、トラブルシューティングと解像度、パフォーマンスの最適化、ベストプラクティスが含まれます。 1. TOP、HTOP、その他のツールを使用して、システムのパフォーマンスを監視し、チューニングします。 2。ユーザーADDコマンドおよびその他のコマンドを介して、ユーザーアカウントとアクセス許可を管理します。 3. APTとYUMを使用してソフトウェアパッケージを管理し、システムの更新とセキュリティを確保します。 4.ファイアウォールを構成し、ログを監視し、データバックアップを実行して、システムセキュリティを確保します。 5.ログ分析とツールの使用を通じてトラブルシューティングと解決。 6.カーネルパラメーターとアプリケーションの構成を最適化し、ベストプラクティスに従ってシステムのパフォーマンスと安定性を向上させます。

Linuxの学習は難しくありません。 1.Linuxは、UNIXに基づいたオープンソースオペレーティングシステムであり、サーバー、組み込みシステム、およびパーソナルコンピューターで広く使用されています。 2。ファイルシステムと許可管理を理解することが重要です。ファイルシステムは階層的であり、許可には読み取り、書き込み、実行が含まれます。 3。APTやDNFなどのパッケージ管理システムは、ソフトウェア管理を便利にします。 4。プロセス管理は、PSおよびTOPコマンドを通じて実装されます。 5. MKDIR、CD、Touch、Nanoなどの基本的なコマンドから学習を開始し、シェルスクリプトやテキスト処理などの高度な使用法を試してください。 6.許可問題などの一般的なエラーは、SudoとChmodを通じて解決できます。 7.パフォーマンスの最適化の提案には、HTOPを使用してリソースを監視すること、不要なファイルのクリーニング、SYの使用が含まれます

Linux管理者の平均年salは、米国で75,000〜95,000ドル、ヨーロッパでは40,000〜60,000ユーロです。給与を増やすには、次のことができます。1。クラウドコンピューティングやコンテナテクノロジーなどの新しいテクノロジーを継続的に学習します。 2。プロジェクトの経験を蓄積し、ポートフォリオを確立します。 3.プロフェッショナルネットワークを確立し、ネットワークを拡大します。

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

インターネットは単一のオペレーティングシステムに依存していませんが、Linuxはその上で重要な役割を果たしています。 Linuxは、サーバーやネットワークデバイスで広く使用されており、安定性、セキュリティ、スケーラビリティに人気があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









