Linuxシェルでは、echo $ 1は何をすることになっていますか?


11

echo $1は、デフォルトのログインシェルが使用されているものを出力します。

しかし、それecho $2以降は、改行しか得られません。何故ですか?

回答:


21

$ 1(または$ 2、$ 3 ...)は、スクリプトに渡される引数であると想定されています。

次にスクリプトの例を示します。

#!/bin/bash

echo "\$1 is now $1"
echo "\$2 is now $2"
echo "\$3 is now $3"

そして、出力例

jaba@lappy:/tmp$ ./example.sh 
$1 is now 
$2 is now 
$3 is now 
jaba@lappy:/tmp$ ./example.sh 1 2 3
$1 is now 1
$2 is now 2
$3 is now 3

1
そして$ 0は実行されているsciptの名前で、argvに似ています。
ベンジャミンバニエ

4

$ 1は、シェルスクリプトに渡される引数です。

実行するとします

./myscript.sh hello 123 

その後

$ 1こんにちは

$ 2123になります


3

あなたの場合、$ 1は、ログインシェルを実行するスクリプトにこの引数が渡されたために使用されたデフォルトのログインシェルを出力します。ただし、現在のセッションで独自のスクリプトを記述して実行する場合、$ 1、$ 2、...はスクリプトに送信するパラメーターになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.