셸 명령의 예를 제시할 때 사람들은 $
터미널에서 실행해야 함을 설명하기 위해 각 행에 를 접두어로 붙이는 경우가 많습니다. 가장 최근에 나는 그것을 만났습니다.이 Github 페이지.
$ sudo apt-get install curl netcat-openbsd bc pv
$ wget https://raw.githubusercontent.com/neutronth/speedtest-lite/master/speedtest-lite
이 줄을 세 번 클릭하면 달러 기호(해당 줄의 일부)가 물론 선택 항목의 일부가 됩니다. $
가 명령의 첫 번째 문자 인 경우 이를 무시하도록 터미널(저는 Terminator를 사용하고 있습니다)을 설정하는 방법이 있습니까 ?
답변1
나는 이 질문에 대답하기 시작했고, 그것이 내가 생각했던 것보다 조금 더 복잡하다는 것이 밝혀졌습니다. 약간의 bash 마법을 사용하면 다음과 같습니다.
cat file | while read x; do OUTPUT=$(echo $x | sed 's/^.//'); eval $OUTPUT; done
이것이 하는 일은 파일을 표준 출력으로 인쇄하고, 각 줄을 읽고, 첫 번째 문자를 제거하고, 결과를 $OUTPUT에 저장한 다음 $OUTPUT의 줄을 eval을 사용하여 명령으로 실행하는 것입니다. eval을 사용할 때는 주의하세요. 이 스크립트는 전체 파일을 명령으로 실행합니다.