5

UNIXでは、シェルスクリプトを/ usr / local / binに移動すると、「[scriptname] .sh」と入力してEnterキーを押すだけで、任意の場所からスクリプトを実行できるようになることを読みました。

通常のユーザー権限とroot権限の両方でスクリプトを移動しましたが、実行できません。

スクリプト:

#! bin/bash

echo "The current date and time is:"
date

echo "The total system uptime is"
uptime

echo "The users currently logged in are:"
who

echo "The current user is:"
who -m

exit 0

これは、移動してスクリプトを実行しようとするとどうなるかです。

[myusername@VDDK13C-6DDE885 ~]$ sudo mv sysinfo.sh /usr/local/bin

[myusername@VDDK13C-6DDE885 ~]$ sysinfo.sh

bash: sysinfo.sh: command not found
4

4 に答える 4

7

どこからでもスクリプトを実行したい場合は、PATH. 通常/usr/local/bin、すべてのユーザーのパスにあるため、このように機能するはずです。したがって、端末で、システム/usr/local/binが実行中かどうかを確認します。PATH

echo $PATH 

多くのパスがリストされているはずです (/binなど/sbin)。リストされていない場合は、追加できます。さらに良い解決策は、すべてのスクリプトをディレクトリ内に保持しhome、パスに追加することです。

パスにディレクトリを追加するには、shellinit スクリプトを変更して新しいディレクトリを追加します。たとえば、BASHシェルを使用している場合は、次.bashrcの行を編集して追加できます。

PATH=$PATH:/the_directory_you_want_to_add/:/another_directory/

これにより、新しいディレクトリ が既存の に追加されますPATH

于 2013-02-01T16:03:07.013 に答える
1

パスのどこかに移動する必要があります。これを試して:

echo $PATH

/usr/local/bin がリストされていないに違いありません。

$HOME (つまりmkdir ~/bin) に bin ディレクトリを作成し、これを ~/.bashrc ファイルに追加することでこれを処理します (まだファイルがない場合はファイルを作成します)。

export PATH=~/bin:$PATH
于 2013-02-01T15:57:44.127 に答える