创建自定义脚本的最佳实践

F.J*_*ean 3 command-line scripts bashrc

我已经取得了一些剧本,我想在终端调用只有一个字(像其他传统的shell命令cdls等等)。

到目前为止,我发现我可以将脚本放入环境路径(bin目录)指向的目录之一,或者将脚本的目录添加到环境路径中。

显然,Ubuntu 建议不要修改任何bashrc文件。此外,这些bashrc文件似乎只调用了bash_aliases我猜的,更多的是用于别名。此外,我发现我可以更改所有用户的路径/etc/environment或在/etc/profile.d.

所以我想知道的是,创建一个只有一个用户和所有用户都可以访问的自定义命令的最佳实践是什么?(使用bin目录还是修改PATH?如果是后者,修改哪个文件?)

Rin*_*ind 8

所以我想知道创建一个所有用户都可以访问的自定义命令的最佳实践。

/usr/local/bin. 请参阅文件系统层次结构标准Ubuntu/Linux 如下。

4.9 /usr/local : 本地层次结构

4.9.1 目的

/usr/local 层次结构供系统管理员在本地安装软件时使用。它需要在系统软件更新时不会被覆盖。它可用于可在一组主机之间共享但在 /usr 中找不到的程序和数据。

本地安装的软件必须放在 /usr/local 而不是 /usr 中,除非安装它是为了替换或升级 /usr 中的软件。

4.9.2 要求

以下目录或目录的符号链接必须在 /usr/local 中

"/usr/local"
bin
games
include
lib
man
sbin
share
src
Run Code Online (Sandbox Code Playgroud)

所以我想知道创建一个只有一个用户可以访问的自定义命令的最佳实践

mkdir $HOME/bin
gedit $HOME/.bashrc
Run Code Online (Sandbox Code Playgroud)

并在底部添加:

export PATH="$HOME/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

如果需要,还可以设置这~/.profile/etc/profile(那里,你将需要使用的用户名来创建特定路径虽然)。

示例.profile:

if [ -d "$HOME/bin" ] ; then
  PATH="$PATH:$HOME/bin"
fi
Run Code Online (Sandbox Code Playgroud)

  • 但是默认情况下,将`~/bin` 添加到用户`$PATH` 的部分已经在`.profile` 中。无需编辑任何内容。 (2认同)