他のシェルスクリプトを検索して実行するには?

他のシェルスクリプトを検索して実行するには?

すでに存在する他のシェルスクリプトを呼び出して正常に実行したい以下のシェルスクリプトがあります。たとえば、誰かが次のメニューで「s」をコマンドした場合、このスクリプトは私のすべてのディレクトリで「isearch」ファイルを検索し、端末で実行してisearchで作業できるようにしたいと思います。既存のファイルを検索して実行する正確なコードは何ですか?

私はこれを試しましたが、うまくいきません -

find / -type f -iname "isearch" -exec {} \

以下は私のコンピュータで実行されているスクリプトに適用されますが、これらのファイルはすべてあるが他のフォルダにいる可能性がある人のためにスクリプトを実行するにはどうすればよいですか?

/home/user/eecs2031as2/isearch

これは他のスクリプトを呼び出すことができるメニューを持つスクリプトです。

 #!/bin/sh
    echo "==============  MENU  =============="
    echo "s: Search for a word"
    echo "c: Count lines, words, characters"
    echo "r: Clear the screen"
    echo "q: Quit the program"
    echo "===================================="
    echo " "
    echo -n "Enter command: " 
    read usercommand

よろしくお願いします。

ベストアンサー1

同じプログラムにコードを保持し、以下の関数とケースを使用してそのコードにジャンプしてみてください。

echo -n "Enter command: " 
read userCommand
case "$userCommand" in
[Ss] )
    echo ''
    searchWord

function searchWord {
    #Enter code here
}

ただし、別のファイルを実行したい場合は、別のコマンドを見ることができます。「grep」を使用してスクリプトから出力を取得することです。

ファイルヘッダーに魔法値を格納する場合は、コマンドを使用します。

x="$(find | grep -rl "MagicValue")"
./$x

おすすめ記事