する質問をすることでしか得られない、回答やアドバイスがある。下記のようなコードのシェルを実行したときにrmコマンドを意図的に失敗させて「失敗」を表示させるにはどうすればよいでしょうか?rmコマンドは例えなので、rmコマンドに限らず他のコマンドでも共通で意図的に失敗させることができるような方法を教えてほしいです。0attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。することで変化させる例を示します。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。06:22おお!aliasコマンド使うと簡単に実現できますね!ご回答ありがとうございます。ご回答ありがとうございます。-fを#!/bin/cshに変えないとaliasを定義する.cshrc等を読みませんが、テストのためのスクリプト修正はOKなんでしょうか?スクリプト修正OKなら、ずっと簡単です。スクリプト修正OKなら、ずっと簡単です。19:40-fオプションは削除できないです・・・。それと実際に試してみましたが、やはり-fオプションのせいでaliasが効かないです・・・。-fオプションは削除できないです・・・。それと実際に試してみましたが、やはり-fオプションのせいでaliasが効かないです・・・。06:08追記のコマンドを試してみます。追記のコマンドを試してみます。a.sh`でaliasしたコマンドが読み込まれるのかが分からないです。a.sh`でaliasしたコマンドが読み込まれるのかが分からないです。21:41sourceでの実行でテストしても、a.shと新規プロセスとして起動する際のテストにはなりませんよ。sourceでの実行でテストしても、a.shと新規プロセスとして起動する際のテストにはなりませんよ。10:02sourceコマンドは「今実行中のcsh」で実行されるからです。sourceコマンドは「今実行中のcsh」で実行されるからです。13:54ごめんなさい。「今実行中のcsh」で実行するとテストにはならないのですか?ごめんなさい。17:04まあ、テストの精度の問題ですが、環境変数、シェル変数、alias、カレントディレクトリ、親プロセスなどが本番実行と同じ状態(意図的に変えている物を除く)でテストする必要があります。-fが取れないのと同じ。テストの精度の問題ですが、環境変数、シェル変数、alias、カレントディレクトリ、親プロセスなどが本番実行と同じ状態(意図的に変えている物を除く)でテストする必要があります。-fが取れないのと同じ。11:36同じではないですが、同じレベルより悪いですね。同じではないですが、同じレベルより悪いですね。キャンセル完了するlink0任意のコマンドを、失敗させる共通的な方法はありません。/etc/testであれば、/etc/testをファイルでなくディレクトリにすれば失敗します。/etcに書き込み権限の無いユーザーで実行するか。コマンドがビルトインコマンドでも、フルパス指定でも無ければ、こういう方法もありますね。$?1ただし、テストしたいrm以外のrmコマンドも全部失敗します。「1つ目のrmは失敗するが、それ以外のrmは成功したい」というのは対象スクリプトを書き換えないと無理かな。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。21:551つめの方法は目から鱗が落ちました。2つめの方法はちょっと何しているのかが、よく分からないです・・・。$path)とrehash1つめの方法は目から鱗が落ちました。2つめの方法はちょっと何しているのかが、よく分からないです・・・。22:39csh変数pathのことですが、環境変数PATHと同じ意味です。csh変数pathのことですが、環境変数PATHと同じ意味です。path=のほうが標準です。path=のほうが標準です。キャンセル完了するlink0適当な(そのコマンドが受け付けない)パラメータ指定するとか。---自分だったら、コピーしたスクリプトに修正を入れて確認します。その差分をもってテストの担保にする感じ。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。06:23シェルの単体テストを実施するので、シェルの中身は書き換えられないのです。シェルの単体テストを実施するので、シェルの中身は書き換えられないのです。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。06:23シェルの単体テストを実施するので、シェルの中身は書き換えられないのです。シェルの単体テストを実施するので、シェルの中身は書き換えられないのです。キャンセル完了するlink0既に解決済ですが、以下の方法もありますという程度で。PATH=組み込みコマンド以外は失敗するようになります。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。19:38ご回答ありがとうございます。ご回答ありがとうございます。頂いたご意見への回答は行っておりません。