cmds
한 줄에 하나씩 명령 이라는 이름의 파일에 명령 목록이 있습니다 .
마지막 명령을 가져와서 변수에 설정 last_command
하고 나중에 실행하고 싶습니다. 또는 , 또는 더 적절한 것을 사용하세요 $last_command
."$last_command"
먼저 마지막 명령을 받습니다.
$ last_command="$(cat cmds | tail -1)"
$ echo $last_command
cat file1 file2 file\ 3
마지막 줄 cmds
은 입니다 cat cat file1 file2 file\ 3
.
문제는 내가 그것을 실행할 때 와 사이의 공백이 파일 이름의 일부 라는 "$last_command"
것을 알지 못해 오류가 발생한다는 것입니다.file
3
답변1
파일의 명령이 정확하고 필요한 모든 공백이 문제를 피한다고 가정하면 eval
이것이 도움이 될 것입니다. $last_command
이것을 실행하는 대신 :
eval $last_command
추신. eval
보안 문제가 쉽게 발생할 수 있으므로 일반적으로 모범 사례로 간주되지 않습니다.