bash -c 'some command'
사용보다 사용하면 실제 이점이 있습니까?bash <<< 'some command'
그들은 동일한 효과를 얻는 것 같습니다.
답변1
bash -c 'some command'
호출자의 표준 입력에 대한 액세스를 유지하므로read
또는 표준 입력에서 읽는 명령이 올바르게 작동합니다. bash <<< 'some command'
해당 입력을 전달된 라인으로 대체하므로 bash -c cat
및 bash <<< cat
다른 작업을 수행합니다.
$ bash -c cat
abc
abc
^D
$ bash <<< cat
$
반면에 이 기능을 활용하여 다음을 통해 자신만의 표준 입력을 제공할 수 있습니다.$'...'
, 매우 조심한다면:
$ bash <<< $'read x y\nabc def ghi\necho $y'
def ghi
$
나는 그것에 의존하고 싶지 않지만 때로는 유용할 수 있습니다.
bash -c
또한 매개변수를 스크립트에 전달하고 $0
다음을 설정할 수 있습니다.
bash -c 'some command' sh abc def
및 내부 $1
로 설정 됩니다 .abc
$2
def
some command