目次
変数は他のプログラミング言語で使用する必要があります。シェル プログラミングでは、すべての変数は文字列で構成されており、" >3. 変数変数は他のプログラミング言語で使用する必要があります。シェル プログラミングでは、すべての変数は文字列で構成されており、
次のコマンドをシェルスクリプトで使用できます:" >次のコマンドをシェルスクリプトで使用できます:
" >if
ホームページ 運用・保守 Linuxの運用と保守 Linux コマンド sh は何を意味しますか?

Linux コマンド sh は何を意味しますか?

Apr 12, 2023 am 11:15 AM
linux

Linux コマンド sh は、Linux でシェルを実行するコマンドであり、シェルのインタープリタです。シェル スクリプトは、Linux のシェルおよびコマンド ライン インターフェイスです。ユーザーはシェル スクリプトにコマンドを入力して実行できます。色々な仕事です。

Linux コマンド sh は何を意味しますか?

このチュートリアルの動作環境: linux5.9.8 システム、デルのG3コンピューター。

Linux コマンド sh の意味は何ですか?

Linux sh コマンドの簡単な説明

1. 可能な実行方法

linux で .sh ファイルを実行する方法

.sh ファイルはテキスト ファイルです。 、chmod a x xxx.sh を使用して実行可能権限を与える必要があります。

2. 先頭: #!/bin/sh

シェル プログラムは、「#!/bin/sh」で始まる必要があります。シェルの # は一般的にコメントを意味するため、「#!」もコメントだと思っている人が多いですが、実際はそうではありません。

"#!/bin/sh" はシェルの宣言で、使用しているシェルの種類とそのパスを示します。

##!/bin/ は、このスクリプトが .bin/sh を使用して実行されることを意味します。

#! は特別な識別子で、その後にこのスクリプトを解釈するシェルのパスが続きます。宣言されていない場合、スクリプトはユーザーがいるシステムによって定義されるデフォルトのシェルで実行されます。シェル スクリプトを実行するために、スクリプトが Kornshell ksh で実行されるように記述されており、デフォルトの実行シェル スクリプトが C シェル csh である場合、スクリプトは実行中に失敗する可能性があります。したがって、#!/bin/sh を C 言語の main 関数として扱うことをお勧めします。

シェルプログラムをより厳密にするためにシェルを記述する必要があります。

3. 変数変数は他のプログラミング言語で使用する必要があります。シェル プログラミングでは、すべての変数は文字列で構成されており、

変数を宣言する必要はありません。変数に値を割り当てるには、次のように記述できます:

#!/bin/sh
 #对变量赋值:
 a=”hello world”# 现在打印变量a的内容:
 echo “A is:” echo $a
ログイン後にコピー
変数名は、次のような他の単語と混同されやすいことがあります。
 num=2
 echo “this is the $numnd”
ログイン後にコピー
これは出力されません。 2nd"、そして単に "this is the " と出力するだけです。シェルは変数 numnd の値を検索しますが、この変数には値がありません。したがって、中かっこを使用して、出力したいのが num 変数であることをシェルに伝えることができます。

 num=2
 echo “this is the ${num}nd”
ログイン後にコピー
このように、「これは 2 番目です」

4. シェルコマンドとプロセス制御

次のコマンドをシェルスクリプトで使用できます:

UNIX コマンド

任意の UNIX コマンドを使用できます。シェル スクリプトで使用されますが、比較的よく使用されるコマンドがまだいくつかあります。これらのコマンドは通常、ファイルとテキストの操作に使用されます。 例:

 echo "some text" #将文字内容打印在屏幕上
 ls #文件列表
 cp sourcefile destfile #文件拷贝
 mv oldname newname #重命名文件或移动文件
 rm file #删除文件
 grep 'pattern' file #在文件内搜索字符串,如:grep 'searchstring' file.txt
 cat file.txt #输出文件内容到标准输出设备(屏幕)上
 read var #显示用户输入,并将输入赋值给变量
ログイン後にコピー


コンセプト: パイプ、リダイレクト、バックティック (バックスラッシュ)

パイプライン

|
    出力は次のとおりです。コマンドの入力は別のコマンドへの入力として機能します。
  1. <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">grep &quot;hello&quot; file.txt | wc -l</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記のコードは、file.txt 内で「hello」を含む行を検索し、その行数をカウントします。ここでは、 grep コマンドの出力が wc コマンドの入力として使用されます。
パイプの後のコマンドはサブコマンドであり、次のコマンドには現れないことに注意してください (

{}

{} の C に似ています)外部割り当てとの違い)、たとえば次のコマンド:

#!/bin/shecho 1 2 3 | { read a b c ; echo $a $b $c ; } # 打印结果为: 1 2 3echo $a $b $c # 打印结果为空
ログイン後にコピー
    Redirection
  1. : コマンドの結果を標準出力 (画面) ではなくファイルに出力します。 )。

    >ファイルを書き込み、古いファイルを上書きします >>
    古いファイルの内容を保持したまま、ファイルの末尾に を追加します。
    逆ダッシュ

    "`"
  2. : 逆ダッシュを使用して
  3. あるコマンドの出力を

    別のコマンドとして出力します コマンド ライン パラメーター

     find . -mtime  -1  -type  f  -print
    ログイン後にコピー
    上記のステートメントは、過去 24 時間以内に変更されたファイルを検索するために使用されます (-mtime -2 は過去 48 時間を意味します)。見つかったすべてのファイルをパッケージ化する場合は、次の Linux スクリプトを使用できます:
     #!/bin/sh
     # The ticks are backticks (`) not normal quotes (‘):
     tar -zcvf  lastmod.tar.gz `find . -mtime -1 -type f -print`
    ログイン後にコピー
Process Control

if

if

条件が true の場合、式を実行します。 then 次の部分:

 if ….; then
 …. elif ….; then
 …. else
 …. fi #注意是以fi结尾
ログイン後にコピー
ほとんどの場合、test コマンドを使用して条件をテストできます。たとえば、文字列を 比較したり、ファイルが存在するかどうか、ファイルが読み取り可能かどうかを判断したりできます。 ## ループの構文 構造は次のとおりです: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"># expression 1# while循环:当expresssion成立的时候,执行cmdwhile (expresssion)do   cmddone# expression 2,可以直接使用truewhile true(或 :)do  cmddone</pre><div class="contentsignin">ログイン後にコピー</div></div> このコマンドは、次のようなパイプラインで使用できます:
# 寻找 ${path} 路径下唯一首字母为‘E’的子目录,并 cd 到该目录find ${path}/E* -type d | while read corresp_pathdo
	cd ${corresp_path}done
ログイン後にコピー

テスト条件

通常は

を使用します。 「[ ]」は試験条件を表します。ここでのスペースは非常に重要であることに注意してください。角括弧内にスペース
が入っていることを確認してください。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> [ -f &quot;somefile&quot; ] #判断文件是否存在  [ -d &quot;testResults/&quot; ] #判断目录testResults/是否存在  [ -x &quot;/bin/ls&quot; ] #判断/bin/ls文件是否存在并有可执行权限  [ -n &quot;$var&quot; ] #判断$var变量是否有值  [ &quot;$a&quot; = &quot;$b&quot; ] #判断$a和$b是否相等</pre><div class="contentsignin">ログイン後にコピー</div></div>

ショートカット演算子

C言語に精通している場合は、次の式が気に入るかもしれません:

  [ -f "/etc/shadow" ] && echo “This computer uses shadow passwors”
ログイン後にコピー
Here"&&"
isショートカット演算記号。左側の式が true の場合、右側のステートメントが実行されます。もちろん、上記の式は論理演算の AND 演算と考えることもできます。 同じ OR 演算 "||" はシェル プログラミングでも使用できます:
 #!/bin/sh
 mailfolder=/var/spool/mail/james [ -r "$mailfolder" ]‘ ‘{ echo “Can not read $mailfolder” ; exit 1; } #感觉这里的‘’应该是||
 echo “$mailfolder has mail from:” grep “^From ” $mailfolder
ログイン後にコピー

该脚本首先判断mailfolder是否可读。如果可读则打印该文件中的”From” 一行。如果不可读则或操作生效,打印错误信息后脚本退出。这里有个问题,那就是我们必须有两个命令:
◆打印错误信息
◆退出程序
我们使用花括号以匿名函数的形式将两个命令放到一起作为一个命令使用。一般函数将在下文提及。
不用‘与’和‘或’操作符,我们也可以用if表达式作任何事情,但是使用与或操作符会更便利很多。

推荐学习:《linux视频教程

以上がLinux コマンド sh は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linuxアーキテクチャ:5つの基本コンポーネントを発表します Linuxアーキテクチャ:5つの基本コンポーネントを発表します Apr 20, 2025 am 12:04 AM

Linuxシステムの5つの基本コンポーネントは次のとおりです。1。Kernel、2。Systemライブラリ、3。Systemユーティリティ、4。グラフィカルユーザーインターフェイス、5。アプリケーション。カーネルはハードウェアリソースを管理し、システムライブラリは事前コンパイルされた機能を提供し、システムユーティリティはシステム管理に使用され、GUIは視覚的な相互作用を提供し、アプリケーションはこれらのコンポーネントを使用して機能を実装します。

VSCODE前の次のショートカットキー VSCODE前の次のショートカットキー Apr 15, 2025 pm 10:51 PM

VSコードワンステップ/次のステップショートカットキー使用法:ワンステップ(後方):Windows/Linux:Ctrl←; macOS:CMD←次のステップ(フォワード):Windows/Linux:Ctrl→; macOS:CMD→

GITの倉庫アドレスを確認する方法 GITの倉庫アドレスを確認する方法 Apr 17, 2025 pm 01:54 PM

gitリポジトリアドレスを表示するには、次の手順を実行します。1。コマンドラインを開き、リポジトリディレクトリに移動します。 2。「git remote -v」コマンドを実行します。 3.出力と対応するアドレスでリポジトリ名を表示します。

Apr 16, 2025 pm 07:39 PM

NotePadはJavaコードを直接実行することはできませんが、他のツールを使用することで実現できます。コマンドラインコンパイラ(Javac)を使用してByteCodeファイル(filename.class)を生成します。 Javaインタープリター(Java)を使用して、バイトコードを解釈し、コードを実行し、結果を出力します。

コードを書いた後に崇高に実行する方法 コードを書いた後に崇高に実行する方法 Apr 16, 2025 am 08:51 AM

Sublimeでコードを実行するには6つの方法があります。ホットキー、メニュー、ビルドシステム、コマンドライン、デフォルトビルドシステムの設定、カスタムビルドコマンド、プロジェクト/ファイルを右クリックして個々のファイル/プロジェクトを実行します。ビルドシステムの可用性は、崇高なテキストのインストールに依存します。

Linuxの主な目的は何ですか? Linuxの主な目的は何ですか? Apr 16, 2025 am 12:19 AM

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

GITソフトウェアのインストール GITソフトウェアのインストール Apr 17, 2025 am 11:57 AM

GITソフトウェアのインストールには、次の手順が含まれています。インストールパッケージをダウンロードしてインストールパッケージを実行して、インストール構成gitインストールgitバッシュ(Windowsのみ)を確認します

Laravelインストールコード Laravelインストールコード Apr 18, 2025 pm 12:30 PM

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。

See all articles