다음 명령을 사용하여 원격 macOS에 대한 SSH 연결을 시작합니다. 목표는 SSH 로그인을 성공적으로 수행하고 (mount.sh 스크립트를 통해) 특정 네트워크 공유를 마운트하는 것입니다. 원격 macOS에서 mount.sh 스크립트를 저장하고 실행하면 정상적으로 작동합니다. 스크립트는 사용자 입력을 받아 사용자 정의 마운트 지점에 설치합니다. 그러나 SSH를 통해 원격 시스템에서 로컬로 script-mount.sh를 실행하려고 할 때마다 작동이 중단됩니다.
실제로 ssh 로그인은 잘 작동하지만 script-mount.sh는 실행되지 않습니다.
#!/bin/bash
read -p "Enter Username: " username
ssh $username@<Server IP> "$(< mount.sh)"
코드 개선을 위한 모든 제안/제안을 환영합니다 :).
mount.sh 스크립트 코드:
#!/bin/bash
read -p "Enter the name of share mount :" lpmount
echo ""
read -p "Enter your User name: " username
echo ""
read -p "Enter the year (e.g. 2018,2019) :" year
mkdir /Gross/$lpmount
mount_smbfs //$username@<Server-IP>/Evi/$year /Gross/$lpmount
mount_status=$? # Checks if the mounting was successfull.
if [ $mount_status -eq 0 ]
then
echo ""
echo "Share mounted SUCCESSFULLY! at /Gross/$lpmount"
sleep 3
else
echo ""
echo " Share not mounted SUCCESSFULLY! at/Gross/$lpmount"
fi
답변1
설명하다:
bash -s
스크립트를 처리할 옵션을 추가할 수 있습니다 . 아래 수정 사항을 참조하세요.
개정하다:
#!/bin/bash
read -p "Enter Username: " username
ssh $username@<Server IP> 'bash -s' < mount.sh