シェルスクリプトを作成し、./ファイル名
で実行できず作業が止まってしまっているので記録。
状況整理
・作成済みのシェルスクリプトをホームディレクトリ/binディレクトリに格納
・作業場所(pwd
)は、ホームディレクトリ(/home/yuzo
)
・./ファイル名
で実行したいので、環境パス通し済み
・エラー【-bash: ./homesize.sh: そのようなファイルやディレクトリはありません】
[yuzo@localhost ~]$ pwd
/home/yuzo
[yuzo@localhost ~]$ ls -l ~/bin/
合計 4
-rwxr-xr-x. 1 yuzo yuzo 32 11月 5 15:07 homesize.sh
[yuzo@localhost ~]$ echo $PATH
/home/yuzo/.local/bin:/home/yuzo/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/yuzo/bin:~/bin
[yuzo@localhost ~]$ homesize.sh
68K /home/yuzo
[yuzo@localhost ~]$ ./homesize.sh
-bash: ./homesize.sh: そのようなファイルやディレクトリはありません
[yuzo@localhost ~]$
自分の理解
./ファイル名
で実行するので、サブシェル上で実行されるため、bashの設定ファイルに'~/.bash_profile'に環境パス次のように記述済み。
[yuzo@localhost ~]$ cat ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH="$PATH:~/bin"
編集内容を有効にするため、sourceコマンドで設定ファイル読み込み済み。
この状態で、なぜシェルのパスが見つからないとエラーがでてくるのか理解できません。
[yuzo@localhost ~]$ ./homesize.sh
-bash: ./homesize.sh: そのようなファイルやディレクトリはありません