返回的是脚本与当前路径的相对路径所以 echo $(pwd)/就是脚本的绝对路径了你执行下这个脚本就明白了#!/bin/bash -xecho echo $(p"og:type" content="webpage">返回的是脚本与当前路径的相对路径所以 echo $(pwd)/就是脚本的绝对路径了你执行下这个脚本就明白了#!/bin/bash -xecho echo $(p" /> 返回的是脚本与当前路径的相对路径所以 echo $(pwd)/就是脚本的绝对路径了你执行下这个脚本就明白了#!/bin/bash -xecho echo $(p"> Shell脚本中如何获取软链接的地址_框架_内存溢出
登录
框架

框架

Shell脚本中如何获取软链接的地址,第1张阅读26

$(pwd)和`pwd`效果是一样的,返回的是当前的路径

${0}返回的是

脚本

与当前路径的相对路径

所以

echo $(pwd)/${0}

就是脚本的绝对路径了

你执行下这个脚本就明白了

#!/bin/bash -x

echo ${0}

echo $(pwd)

echo $(pwd)/${0}

获取所有常规文件的文件名并打印出来的脚本listfilesh如下

#!/bin/bash

dir="/"

dir=$1$dir

for f in $dir

do

if [ -f $f ]

then

echo $f

fi

done

使用方法:

$ listfilesh PATH

原理:

PATH参数是路径,将路径后加上“/”,代表该目录下的所有文件和目录名,利用for循环比较每个文件是否是常规文件( -f比较运算符),若if表达式为真则打印

举例:

ls -l

total 36

-rwxrwxr-x 1 lipeng lipeng 48 Nov 29 20:08 aaash

drwxrwxr-x 2 lipeng lipeng 4096 May 4 2015 byteorder

drwxrwxr-x 8 lipeng lipeng 4096 May 3 2015 hello

-rwxrwxr-x 1 lipeng lipeng 122 Nov 29 20:16 listfilesh

-rw-rw-r-- 1 lipeng lipeng 177 Aug 1 03:10 maincpp

drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 16:42 matrix

drwxrwxr-x 5 lipeng lipeng 4096 Apr 28 2015 modbus

drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 10:10 shtest

drwxrwxr-x 2 lipeng lipeng 4096 Sep 16 18:21 test

$ /listfilesh

/aaash/listfilesh/maincpp

当我在执行shell脚本时,它会启动一个叫子shell的

进程

。作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。在bash中,子shell进程的PID存储在一个特殊的变量‘$$'中。这个变量只读,你不可以在脚本中修改它。比如:

复制

代码

代码如下:

#!/bin/bash

echo "PID of this script: $$"

上面的脚本会得到下面的输出:

复制代码代码如下:

PID of this script: 6583

除了$$, bash shell还会导出其他的只读变量。比如,PPID存储子shell父进程的ID(也就是主shell)。UID存储了执行这个脚本的当前用户ID。比如:

复制代码代码如下:

#!/bin/bash

echo "PID of this script: $$"

echo "PPID of this script: $PPID"

echo "UID of this script: $UID"

输出是:

复制代码代码如下:

PID of this script: 6686

PPID of this script: 4656

UID of this script: 1000

上面输出中,PID每次执行都会变化。这个因为每次运行都会创建一个新的shell。另一方面,PPID每次都会一样只要你在同一个shell中运行。

对于所有bash内置变量列表,参考man页。

复制代码代码如下:

$ man bash

以上就是关于Shell脚本中如何获取软链接的地址全部的内容,包括:Shell脚本中如何获取软链接的地址、如何用shell获取linux目录下的文件名、怎么获取shell在控制台执行的进程id等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:

内存溢出
进程
路径
微信扫一扫支付宝扫一扫打赏
微信扫一扫
支付宝扫一扫
线速度
上一篇
下一篇
2023-04-27

发表评论
请登录后评论...
登录
后才能评论

提交
    评论列表(0条)室里
    脚肿
    返回的是脚本与当前路径的相对路径所以echo $(pwd)就是脚本的绝对路径了你执行下这个脚本就明白了#!binbash -xecho 返回的是脚本与当前路径的相对路径所以echo $(pwd)就是脚本的绝对路径了你执行下这个脚本就明白了#!binbash -xecho {script}echo $(p', author : '线速度', cat_name : '框架', time_y_m : '2023年04月', time_d : '27', site_motto : '内存溢出' }; echo $(p", "pubDate":"2023-04-27", "upDate":"2023-04-27" } {script}
    {label}{label}保存{label}{label}{label}{label}{script}{script}{script}{script}