0

学校の課題の一部として実行されるシェルにいくつかのエイリアスを追加する簡単なシェル スクリプトを作成しました。ファイルの内容は次のtestscript.txtとおりです。

#!/usr/bin

alias dir="ls -l"
alias alerts="cat /etc/motd"
PS1="What next Matt ? "

次のコマンドを使用すると:

sh testscript.txt

エラーが返されないため、コマンドは実行されているように見えますが、エイリアスとコマンド プロンプト変数は変更されていません。

次の 3 つの代替手段を試したので、スクリプトが適切に機能することはわかっています。これらはすべて問題なく機能しました。

. ./testscript.txt
. testscript.txt
source testscript.txt

この割り当てでは、shコマンドを使用する必要があります。コマンドでエイリアスと環境変数を更新するよう提案するものはありますか?

以下は課題のスクリーンショットです。私が満たさなければならない要件を確認できます。 ここに画像の説明を入力

お時間とご協力ありがとうございました。

4

2 に答える 2

0

スタンドアロン スクリプト内で設定した環境変数は、そのスクリプト内からのみ表示されます。~/.profile代わりに、これらのコマンドを(またはシステム上の同等のものに)追加する必要があります。その後、コマンド ライン コンソールにログインすると実行されます。

于 2013-10-17T22:07:55.110 に答える
-1

シバン (最初の行) が正しくありません。

あなたの場合、最初の行を または のいずれかに置き換える必要があり#!/bin/shます#!/bin/bash

Google で「シバン」と検索してください。これは基本的に、起動された実行可能ファイルの絶対パスです。 http://en.wikipedia.org/wiki/Shebang_(Unix)

于 2013-10-21T16:29:56.703 に答える