Bash 스크립트에서 이전 줄로 이동하는 방법

Bash 스크립트에서 이전 줄로 이동하는 방법

if/elif 문이 많이 포함된 bash 스크립트가 있습니다.

명령의 출력을 가져와 명령의 기본 버전 대신 관련 if/elif 문을 실행하도록 하는 방법이 있습니까?

예를 들어 기본 스크립트에는 다음이 있습니다.

if [ "$command" == "ls" ]
then
    ls -la
elif # ...(hundreds more if/elif statements here) ...

fi

내가 실행하는 경우:

echo "ls" >> tempcommand; bash tempcommand

ls내 스크립트에서는 위의 기본 스크립트에 지정된 if 문을 통해 이 실행 명령을 파이프할 수 있습니까 ?

답변1

나는 당신과 동일한 사용 사례를 가지고 있습니다.

ls구현:

$ cat ~/bin/ls
#!/bin/bash

LD_LIBRARY_PATH=/path/sid-chroot/usr /path/sid-chroot/bin/ls "$@"
$ ls --version 
ls (GNU coreutils) 9.1
$ /bin/ls --version 
ls (GNU coreutils) 8.32

별칭이 있습니다.

$ type ls
ls is aliased to `ls --color=auto -F'

모든 것이 예상대로 작동합니다.

lsPATH이전 구현을 환경 변수 에 넣어야 합니다 .

따라서 귀하의 경우 디렉터리와 정의를 tempcommand변수에 추가해야 합니다. 아마도 가장 간단한 방법은 다음을 추가하는 것입니다.PATHlsalias

. ~/.bashrc

당신의 스크립트에.

관련 정보