所以我已经在其他几次发现了这个问题,但我并不完全理解答案。
所以我在一个巨大的服务器上运行多人,所以目录有点不稳定,我有点问题,弄清楚我应该做什么。
所以我想创建自己的脚本
做了以下
$ mkdir myscripts
$ cd myscripts
$ vim dirstatus.sh
在dirstatus.sh中我刚写了一个简单的脚本,我更感兴趣的是让脚本可以从任何目录中执行。
所以
#!/usr/bin/env sh
# My own script - Experimenting with Shell
# Setting path export
export PATH=$PATH:~/bin/myscripts
printf "The current directory is $(pwd) \n
Path of this script is $(PATH)"
之后我做了
$ chmod +x dirstatus.sh
当我在myscripts目录中执行./dirstatus.sh时,它可以正常工作
然而,当我在任何其他目录中执行$ dirstatus
时,甚至在myscripts目录中也是如此
我收到以下错误
~ksh: dirstat: command not found
任何解决方案?
答案 0 :(得分:1)
问题是包含dirstatus.sh文件的myscripts目录不在终端会话的路径中。假设您在家中创建了myscripts目录,则可以执行以下操作:
PATH=~/myscripts:$PATH
要使此更改适用于所有新的终端会话,您可以将以上内容添加到登录时加载的〜/ .profile或〜/ .bash_profile文件中。