Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 动态计算的Bash变量_Linux_Bash_Shell - Fatal编程技术网

Linux 动态计算的Bash变量

Linux 动态计算的Bash变量,linux,bash,shell,Linux,Bash,Shell,我有几个结构类似的目录树。 比如: ~/ 树1/ src/ 垃圾箱/ 树2/ src/ 垃圾箱/ 当我在Tree1/src下面的某个地方工作时,我想使用Tree1/bin。当我在Tree2/src下面的某个地方工作时,我想使用Tree2/bin 有没有办法定义一个shell变量,它的值取决于我当前的工作目录?cwd=$pwd应该可以做到这一点。它将打印工作目录pwd的输出分配给一个变量 要将~Tree1/src/dir1/dir2替换为~Tree1/bin,您可以执行以下操作 bindir=$(

我有几个结构类似的目录树。 比如: ~/ 树1/ src/ 垃圾箱/ 树2/ src/ 垃圾箱/

当我在Tree1/src下面的某个地方工作时,我想使用Tree1/bin。当我在Tree2/src下面的某个地方工作时,我想使用Tree2/bin

有没有办法定义一个shell变量,它的值取决于我当前的工作目录?

cwd=$pwd应该可以做到这一点。它将打印工作目录pwd的输出分配给一个变量

要将~Tree1/src/dir1/dir2替换为~Tree1/bin,您可以执行以下操作

bindir=$(pwd | sed 's/src.*/bin/')
另请参见

cwd=$pwd应该起作用。它将打印工作目录pwd的输出分配给一个变量

要将~Tree1/src/dir1/dir2替换为~Tree1/bin,您可以执行以下操作

bindir=$(pwd | sed 's/src.*/bin/')

另请参见

PWD是一个变量,已由bash、ksh和其他shell设置为当前目录

PWD是bash、ksh和其他shell已经设置到当前目录的变量

正如jlliagre所说,bash和许多其他现代shell一样,将当前工作目录存储在$PWD中;如果是Tree1/src/some/other/directory,则只需使用参数展开即可从中提取Tree1/bin:

$ echo $PWD
Tree1/src/some/other/directory

$ echo ${PWD%%src*}bin
Tree1/bin

正如jlliagre所说,bash和许多其他现代shell一样,将当前工作目录存储在$PWD中;如果是Tree1/src/some/other/directory,则只需使用参数展开即可从中提取Tree1/bin:

$ echo $PWD
Tree1/src/some/other/directory

$ echo ${PWD%%src*}bin
Tree1/bin

通常,$PWD变量Present Working Directory包含当前目录的路径。如果未定义此变量,可以使用pwd命令返回当前路径。

通常$pwd variable Present Working Directory包含当前目录的路径。如果未定义此变量,则可以使用pwd命令返回当前路径。

其他两个current定义包括脚本启动时所在的目录,即文件开头的start_dir=$pwd的值,无论脚本位于何处以及脚本本身的目录-script_dir=$dirname-$readlink-f-$0。

当前的两个其他定义包括脚本启动时所在的目录,即文件开头的start_dir=$PWD的值,无论脚本位于何处以及脚本本身的目录-script_dir=$dirname-$readlink-f-$0