Bash 스크립트에 대한 비밀번호 제공 [닫기]

Bash 스크립트에 대한 비밀번호 제공 [닫기]

다른 파일을 암호화하는 bash 스크립트가 있습니다.
스크립트는 (암호화하기 위해) 각 파일의 비밀번호를 묻는 메시지를 표시합니다.

매번 각 파일에 대해 수동으로 입력할 필요가 없도록 스크립트에 인수로 스크립트에 필요한 정보를 제공하는 방법이 있습니까?

나는 시도했다:

  • cat "input" | ./Script.sh
  • cat "input.txt" | ./Script.sh
  • echo "input" | ./Script.sh
  • printf 'word1\nword2\nword3\n' | ./script

편집: Volker Siegel의 답변으로 문제를 해결했습니다.

  1. 설치 기대사항:sudo apt-get install expect
  2. 자동 기대를 실행합니다.autoexpect -f file-to-save-automation script-to-automate
  3. 생성된 파일을 실행합니다../file-to-save-automation

답변1

이 앱이 필요합니다 expect. 당신이해야 할 일은 그것의 주요 목적입니다. 사용 프로그램을 생성하는
데 사용하는 기록입니다 autoexpect.

기록되는 것은 (tcl)의 스크립트로, 비밀번호 입력을 포함하여 스크립트를 실행할 수 있습니다.

완벽하게 작동하지 않으면 생성된 스크립트를 편집할 수 있습니다. 이 언어는 더 이상 널리 사용되지 않지만 매우 간단합니다. 필요한 것이 무엇인지 알아보려면 코드 예제를 확인하세요.

귀하의 사례에 맞는 사용 예를 쉽게 찾을 수 있어야 합니다.

답변2

예, 매개변수는 스크립트의 위치 변수를 통해 참조될 수 있습니다.

예-

#!/bin/bash

if [ $# -ge 1 ]
then
  echo First argument is $1
fi

그걸로 ./my_script argument1전화해

$1따라서 을 사용해야 합니다 $9. 9개 이상이 필요하면 을 사용할 수 있습니다 shift. 음.. 전송하세요.

즉, 명령줄에서 비밀번호를 수락하는 것은 일반적으로 사용자 기록과 의 출력 등에서 볼 수 있기 때문에 좋지 않습니다. 저 ps라면 top스크립트의 일부로 사용자에게 비밀번호를 묻는 메시지를 표시할 것입니다.

관련 정보