Como criar um script de shell para manipular comandos como ls -l / somedir

1

Meu script até agora pode manipular o comando ls e retorna os arquivos no diretório. Agora estou tentando fazer com que ele manipule comandos como ls -l /tmp . Qualquer ajuda?

Meu script até agora:

#!/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
    
por Spyros_av 12.11.2015 / 22:09

1 resposta

0

Talvez seja assim:

#!/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

Isso basicamente executa o comando inserido para cada resolução de PATH possível.

    
por 12.11.2015 / 22:54