다른 명령의 출력을 기반으로 파일이나 폴더를 만드는 방법

다른 명령의 출력을 기반으로 파일이나 폴더를 만드는 방법

Linux 기반 라우터를 원격으로 구성하는 스크립트를 작성 중입니다. 첫 번째 단계는 원하는 장치의 일련번호를 얻는 것입니다.

  1. 일련번호와 동일한 이름의 폴더를 생성합니다.
  2. 일련번호가 포함된 텍스트 파일 만들기
  3. 이 일련 번호가 포함된 줄을 구성 파일에 넣습니다.

작업 2가 가장 간단합니다. mnf_info -s > sn.txt하지만 실제 이름을 추출하여 이를 전달하려면 어떻게 해야 합니까 mkdir?sed

그리고 아무런 상호작용 없이 원격으로 비밀번호를 변경하는 방법을 알고 있나요? 해당 장치에 예상되는 명령이 없으므로 이 작업을 수행해야 합니다. 어떤 아이디어가 있나요?

미리 감사드립니다

크시슈토프

답변1

명령의 출력을 저장할 수 있습니다 variable=$(command). 귀하의 경우에는 다음과 같습니다.

serial="$(mnf_info -s)"
mkdir "$serial"
echo "$serial" > "$serial"/sn.txt

이제 로컬에 저장된 스크립트를 원격으로 실행하려면 위의 줄을 (로컬로) 저장한 myscript다음 다음을 사용할 수 있습니다.

ssh [email protected] "bash" <myscript

답변2

ssh $i <<'EOF'
ser=$(mnf_info -s)
mkdir $ser
mnf_info -s >sn.txt
sed -i '1i $ser'  configfile
EOF

Here we saving serial number in variable and later using to creating directory and add variable content in config file

This may help you

관련 정보