-2

xprog(プログラム名) これがプログラムに適した名前であるかどうかを確認し、適切な場合はエディターを起動して、ファイルがデフォルトで実行可能であることを確認します。

「ls」のようなシステムプログラム名の使用を許可しないでください。「which」を使用して、コマンドが存在するかどうかを確認してください。リターンコード「$?」を確認してください。touch(プログラム)新しいprog実行可能ファイル起動エディターを作成します

テスト

xproggrep-拒否されたxprognewprog-ok、作成済み、実行可能ファイル、エディター起動

私はシェルスクリプトに本当に慣れていないので、どんな助けでも本当にありがたいです。もし私が私の答え全体を手に入れれば素晴らしいですが、どんな提案も私を大いに助けてくれるでしょう。私は約2時間答えを探していましたが、残念ながら開始する場所が見つからないようです。上記は私が従うべきガイドラインです、私は説明が何であるかを理解しています私はシェルスクリプトにそれを実装する方法を見つけることができないようです。みんなありがとう。

4

2 に答える 2

1
#!/bin/bash

for i; do
    type &>/dev/null "$i" || { chmod +x "$i"; $EDITOR "$i"; }
done

宿題/noobバージョン:

#!/bin/bash

for i in $@; do
    if which &>/dev/null "$i"; then
        true
    else
        chmod +x "$i"
        $EDITOR
    fi
done

トータルnoobバージョン:

#!/bin/bash

for i in $@; do
    which &>/dev/null "$i"
    if [[ $? == 0 ]]; then
        chmod +x "$i"
        $EDITOR
    fi
done
于 2013-02-21T19:55:22.697 に答える
0

テストwhich、リターンコードの確認(暗黙的にif)、タッチ、実行可能ファイルの作成、エディターの起動。

if which $1 > /dev/null; then
    echo "rejected"
    exit 1
else
    touch $1
    chmod +x $1
    ${EDITOR} $1
fi
于 2013-02-21T19:57:42.223 に答える