首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

bash脚本如何知道它来源时安装的目录.运营商?

在bash脚本中,可以使用$0变量来获取脚本的路径,然后通过dirname命令来获取脚本所在的目录。以下是一个示例脚本:

代码语言:bash
复制
#!/bin/bash

# 获取脚本所在的目录
script_dir=$(dirname "$0")

# 输出目录
echo "脚本所在目录:$script_dir"

这个脚本可以在任何目录下运行,它会输出脚本所在的目录。如果脚本是通过安装包安装的,那么这个目录就是安装包的安装目录。

需要注意的是,如果脚本是通过软链接或者其他方式被调用的,那么$0变量返回的路径可能不是脚本实际所在的目录。在这种情况下,需要使用其他方法来获取实际的安装目录。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

编写Linux Shell脚本的最佳实践

由于工作需要,最近重新开始拾掇shell脚本。虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看。而且当我在看其他人写的脚本的时候,总觉得难以阅读。毕竟shell脚本这个东西不算是正经的编程语言,他更像是一个工具,用来杂糅不同的程序供我们调用。因此很多人在写的时候也是想到哪里写到哪里,基本上都像是一段超长的main函数,不忍直视。同时,由于历史原因,shell有很多不同的版本,而且也有很多有相同功能的命令需要我们进行取舍,以至于代码的规范很难统一。 考虑到上面的这些原因,我查阅了一些相关的文档,发现这些问题其实很多人都考虑过,而且也形成了一些不错的文章,但是还是有点零散。因此我就在这里把这些文章稍微整理了一下,作为以后我自己写脚本的技术规范。

03

SaltStack常用模块介绍

acl, aliases, alternatives, apache, archive, artifactory, blockdev, btrfs, buildout, cloud, cmd, composer, config, container_resource, cp, cron, data, defaults, devmap, dig, disk, django, dnsmasq, dnsutil, drbd, elasticsearch, environ, etcd, event, extfs, file, gem, genesis, git, grains, group, grub, hashutil, hg, hipchat, hosts, http, img, incron, ini, introspect, ip, iptables, jboss7, jboss7_cli, key, kmod, locale, locate, logrotate, lowpkg, match, mine, modjk, mount, network, openstack_config, pagerduty, pillar, pip, pkg, pkg_resource, postfix, publish, puppet, pyenv, raid, random, random_org, rbenv, ret, rsync, runit, rvm, s3, saltutil, schedule, scsi, sdb, seed, selinux, serverdensity_device, service, shadow, slack, smtp, sqlite3, ssh, state, status, supervisord, sys, sysctl, syslog_ng, system, test, timezone, user, vbox_guest, virtualenv, webutil, xfs

03
领券