すでに存在する他のシェルスクリプトを呼び出して正常に実行したい以下のシェルスクリプトがあります。たとえば、誰かが次のメニューで「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