
이것을 ksh에서 작동하게 하려면 어떻게 해야 합니까?
variable1="$(strings /.sh_history | grep '^\user' | tail -1 | cut -d' ' -f2)"
variable2="$(command ${variable1})"
기본적으로 변수1을 문자열로 사용하여 변수를 선언하는 명령과 함께 사용하고 싶습니다.
업데이트: 이 문제는 실제로 내 구문과 관련이 없습니다. 이 오류는 문제를 일으킨 텍스트 형식으로 인해 발생했습니다. 텍스트 수정자를 구분 기호로 사용하여 잘라내고 데이터를 성공적으로 가져올 수 있었습니다. 나는 스크립트를 더 깔끔하게 만들기 위해 두 가지 권장 솔루션을 모두 사용했습니다.
답변1
쉘 코드를 저장하려면 다음을 사용하십시오.기능:
function1() { strings /.sh_history | grep "$@"; }
variable1=$(function1 foo)
답변2
사용 eval
:
variable1='strings /.sh_history | grep'
variable2=$(eval "$variable1 foo")