리눅스 쉘에서 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와 유사합니다.
Benjamin Bannier

4

$ 1 은 쉘 스크립트에 전달 된 인수입니다.

당신이 실행한다고 가정 해보십시오.

./myscript.sh hello 123 

그때

$ 1안녕하세요

$ 2123입니다


3

귀하의 경우 $ 1은이 인수가 로그인 쉘을 실행하는 스크립트로 전달 되었기 때문에 사용 된 기본 로그인 쉘을 인쇄합니다. 그러나 현재 세션에서 자체 스크립트를 작성하고 실행하는 경우 $ 1, $ 2, ...는 스크립트로 보내는 매개 변수가됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.