簡體   English   中英

從任何(非特定)目錄運行shell腳本

[英]Running a shell script from any (non-specific) directory

因此,我已經在其他地方幾次發現了這個問題,但是我不太理解答案。

因此,我正在一個可容納多個人的巨型服務器上運行,因此目錄有些古怪,並且在確定我應該做什么時遇到了一些問題。

所以我想創建自己的腳本

做了以下

$ 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時,它可以工作

但是,當我在任何其他目錄甚至在myscripts目錄中執行$ dirstatus

我收到以下錯誤

~ksh: dirstat: command not found

有什么辦法嗎?

問題是包含dirstatus.sh文件的myscripts目錄不在終端會話的路徑中。 假設您在家中建立了myscripts目錄,則可以執行以下操作:

PATH=~/myscripts:$PATH

要使此更改適用於所有新的終端會話,可以將以上內容添加到登錄時加載的〜/ .profile或〜/ .bash_profile文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM