ls -l /somedir과 같은 명령을 처리하는 쉘 스크립트를 작성하는 방법

ls -l /somedir과 같은 명령을 처리하는 쉘 스크립트를 작성하는 방법

지금까지 내 스크립트는 ls명령을 처리하고 디렉터리의 파일을 반환할 수 있습니다. 이제 ls -l /tmp.

지금까지 내 스크립트는 다음과 같습니다.

#!/bin/bash
#set -x
clear

read -p "type a command:  " file
    read -r -a prog <<<"$file"
    IFS=: read -r -a paths <<<"$PATH"

        for val in "${prog[@]}" ; do 
        for path in "${paths[@]}"; do       

          [[ -x $path/$val ]] && "$path/$val"  "$@"         
        done
        done

답변1

어쩌면 다음과 같은 것일 수도 있습니다.

#!/usr/bin/env bash
clear
IFS=: read -r -a paths <<<"$PATH"
read -p "type a command:  " cmd
read -d ' ' file <<<"$cmd"  #the first component of command
for path in "${paths[@]}"; do       
  [ -x "$path/$file" ] && eval "$path/$cmd"
done

이는 기본적으로 가능한 모든 경로에 대해 실행 입력 명령을 구문 분석합니다.

관련 정보