Linux コマンド sh は、Linux でシェルを実行するコマンドであり、シェルのインタープリタです。シェル スクリプトは、Linux のシェルおよびコマンド ライン インターフェイスです。ユーザーはシェル スクリプトにコマンドを入力して実行できます。色々な仕事です。
Linux コマンド sh の意味は何ですか?
.sh ファイルはテキスト ファイルです。 、chmod a x xxx.sh を使用して実行可能権限を与える必要があります。
シェル プログラムは、「#!/bin/sh」で始まる必要があります。シェルの # は一般的にコメントを意味するため、「#!」もコメントだと思っている人が多いですが、実際はそうではありません。
"#!/bin/sh" はシェルの宣言で、使用しているシェルの種類とそのパスを示します。
##!/bin/ は、このスクリプトが .bin/sh を使用して実行されることを意味します。 #! は特別な識別子で、その後にこのスクリプトを解釈するシェルのパスが続きます。宣言されていない場合、スクリプトはユーザーがいるシステムによって定義されるデフォルトのシェルで実行されます。シェル スクリプトを実行するために、スクリプトが Kornshell ksh で実行されるように記述されており、デフォルトの実行シェル スクリプトが C シェル csh である場合、スクリプトは実行中に失敗する可能性があります。したがって、#!/bin/sh を C 言語の main 関数として扱うことをお勧めします。シェルプログラムをより厳密にするためにシェルを記述する必要があります。
#!/bin/sh #对变量赋值: a=”hello world”# 现在打印变量a的内容: echo “A is:” echo $a
num=2 echo “this is the $numnd”
num=2 echo “this is the ${num}nd”
echo "some text" #将文字内容打印在屏幕上 ls #文件列表 cp sourcefile destfile #文件拷贝 mv oldname newname #重命名文件或移动文件 rm file #删除文件 grep 'pattern' file #在文件内搜索字符串,如:grep 'searchstring' file.txt cat file.txt #输出文件内容到标准输出设备(屏幕)上 read var #显示用户输入,并将输入赋值给变量
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">grep "hello" 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 # 打印结果为空
>ファイルを書き込み、古いファイルを上書きします
>>
古いファイルの内容を保持したまま、ファイルの末尾に を追加します。
逆ダッシュ
別のコマンドとして出力します コマンド ライン パラメーター 。
find . -mtime -1 -type f -print
#!/bin/sh # The ticks are backticks (`) not normal quotes (‘): tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`
条件が 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 "somefile" ] #判断文件是否存在
[ -d "testResults/" ] #判断目录testResults/是否存在
[ -x "/bin/ls" ] #判断/bin/ls文件是否存在并有可执行权限
[ -n "$var" ] #判断$var变量是否有值
[ "$a" = "$b" ] #判断$a和$b是否相等</pre><div class="contentsignin">ログイン後にコピー</div></div>
[ -f "/etc/shadow" ] && echo “This computer uses shadow passwors”
#!/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 サイトの他の関連記事を参照してください。