어떻게 설정합니까 명령 변수를 출력입니다 bash?

나는 꽤 단순한 스크립트입니다 뭔가 다음과 같습니다.

#!/bin/bash

VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'

echo $MOREF

When I, I am not 실행하십시오 스크립트입니다 명령줄이 에서 인수, 통과시킬 조절이 출력입니다. 그러나 나는, 나는 '변수' $ 모세 실행하십시오 포함된 명령을 받을 수 있도록 출력입니다.

어떻게 한 결과 시행하십시오 명령을 실행해야 하는 내에 저장할 수 있는 출력을 가변으로 스크립트입니다 redhat. 가변으로 후 화면에?

질문에 대한 의견 (4)
해결책

,, #, # 96 박트릭스 외에도 &lt code&gt &amp command&amp &lt /code&gt 96;;; 사용할 수 있습니다 (명령) '또는', '$ $ (명령),' 내가 찾을 수 있는 &quot &quot 중첩할 사용할 수 있고, 쉽게 읽을 수 있습니다.

OUTPUT="$(ls -1)"
echo "${OUTPUT}"

MULTILINE=$(ls \
   -1)
echo "${MULTILINE}"

견적 (&quot ',') 가 문제를 행 보존할지 값.

해설 (14)

올바른 방법은

$(sudo run command)

Re 사용하려는 경우 you& # 39, & # 39 ',' 아닌 '"아포스트로피 합니다. 이 문자 호출됨 &quot backticks"; (또는 중대한 accent&quot ";).

다음과 같습니다.

#!/bin/bash

VAR1="$1"
VAR2="$2"

MOREF=`sudo run command against "$VAR1" | grep name | cut -c7-`

echo "$MOREF"
해설 (4)

& # 39, 얻을 수 있기 때문에 이미 timerevent 콩지름에 backticks& # 39;.

물론 또 다른 제안된 '$ (명령)' 는 것은 쉽게 읽을 수 있지만, 참고 유효함 미디어만을 사용하여 Bash 또는 코른셸 (및 셸 파생됨 해당), 만일 스크립트에 대한 다양한 유닉스 시스템의 경우, 이전 박트릭스 포지셔닝하십시오 상행담관염이라고 이동형이든지 해야 한다고 말한다.

해설 (7)

일부 [태그: bash] 내가 사용하는 변수를 설정할 수 있는 명령의 요령

2nd 편집할지 12-02-2018: 다른 방법으로 이 부분에 대해 추가 http://community. 이동작업 !

  • 25-01-2018 편집: * 샘플링합니다 추가 기능 (부품설치 var 디스크 사용)

1 세, 호환적 운행에서어떠한 간단한

myPi=`echo '4*a(1)' | bc -l`
echo $myPi 
3.14159265358979323844

호환적, 두 번째 방법은 주로

이를 위해 무거운 구현되었고, 괄호 중첩할 될 수 있다


myPi=$(bc -l 
해설 (3)

그러니까말이야 할 세 가지 방법:

1) 기능 등 tasks: 적합한지

func (){
ls -l
}

이를 통해 'func' 호출하십시오 한다 "고 말했다.

2) 또 다른 적합한 솔루션을 eval: 될 수 있습니다.

var="ls -l"
eval $var

3) 는 세 번째 변수를 사용하여 directly:

var=$(ls -l)
OR
var=`ls -l`

제 3 의 길을 솔루션이므로 좋은 결과를 얻을 수 있습니다.

echo "$var"

못된 공구뿐 아니라 운행에서어떠한:

echo $var
해설 (3)

그냥 다를 수 있습니다.

MOREF=$(sudo run command against $VAR1 | grep name | cut -c7-)
해설 (0)

변수를 설정할 때 있는지 = 이후 공백 없이 전 및 / 또는 사인이야. 말 그대로 하는 데 한 시간 하면 분명 이 모든 종류의 솔루션! 이것은 안 좋아.

  • Correct:*&lt br>;
WTFF=`echo "stuff"`
echo "Example: $WTFF"
  • 페일오버됩니다 * 및 오류: (자료: 또는 이와 유사한 찾을 수 없습니다.)
WTFF= `echo "stuff"`
echo "Example: $WTFF"
해설 (1)

이를 통해 스케쳐내 multiline / 여러 command/s 어졌다면 이 작업을 수행할 수 있습니다.


output=$( bash 
해설 (16)

사용할 수 있어야 합니다.

'$ (여기에 명령)'

또는

`command-here`

#!/bin/bash

VAR1="$1"
VAR2="$2"

MOREF="$(sudo run command against "$VAR1" | grep name | cut -c7-)"

echo "$MOREF"
해설 (2)

진드기 뒤로를 사용할 수 있습니다 (소트트웨어용 액센트 묘소) 또는 '$ ()'. 것처럼 -

OUTPUT=$(x+2);
OUTPUT=`x+2`;

둘 다 동일한 효과를 얻을 수 있습니다. 그러나 출력입니다 = $ (x + 2) 이 훨씬 더 읽기 및 최신 버전을.

해설 (2)

이것은 또 다른 방법으로 좋은 텍스트 편집기를 사용할 수 없는 모든 복잡한 코드를 강조표시할 일부 제대로 만들 수 있습니다.


read -r -d '' str < 
해설 (2)

이 때 일부 볼 수도 있다. 대체, 변수 정수 값을 사용하고 있는 '트릭' 더블 브래킷에 $ (()).

N=3
M=3
COUNT=$N-1
ARR[0]=3
ARR[1]=2
ARR[2]=4
ARR[3]=1

while (( COUNT < ${#ARR[@]} ))
do
  ARR[$COUNT]=$((ARR[COUNT]*M))
  (( COUNT=$COUNT+$N ))
done
해설 (5)

다음은 두 개 이상의 다음과 같습니다.

[태그: bash] 공간이 매우 중요한 점을 명심하십시오. 따라서 원하는 경우에는 명령을 그대로 사용, 실행하십시오 유발하지 않으면서 더 독창적이다.

그 후 인쇄 정보정의다음 color_name 하실 L 로 1.

L = $ &quot harshil"; echo $ L&quot ";

  1. 다음과 같은 결과를 color_name tr '명령' tr '의 L2.' 는 또 다른 변수가 기술입니까 운영되었습니다 L1.

L2 = $ ($ L1&quot 에코 "; tr [쇱そ:] [낮은:])

해설 (2)

만약 실패하면 명령을 실행할 수 있는 시도 중인 죽이려하겠어요 기록하십시오 출력입니다 인쇄할 수 있는 그런 후 스트리밍합니다 관용으로충만하신 오류 및 콘솔이군요. 이 문제를 방지하려면 리디렉션하십시오 오류 스트림을 합니다

result=$(ls -l something_that_does_not_exist 2>&1)
해설 (0)