linux - 带参数的 Bash 函数

标签 linux bash

我想创建一个 bash 命令来自动将文件从我的公共(public)保管箱更新到我的本地机器。

例如: 我本地/home/john/Directory1/file1.dat 上的文件也位于我的保管箱云中,可以使用以下链接访问:https://dl.dropboxusercontent.com/u/xxxxxx/Directory1/file1.dat

[顺便说一句,这意味着 Directory1/是我的 public/保管箱目录的根目录]。所以我想创建一个名为 MyNewFunction 的函数:

cd /home/john/Directory1/
MyNewFunction file1.dat

MyNewFunction 将执行:

wget -N https://dl.dropboxusercontent.com/u/xxxxxx/Directory1/file1.dat

[-N设置为更新和覆盖file1.dat]

因此,我需要选择当前目录名“Directory1”来创建https链接

最佳答案

当前目录的完整路径在 PWD 变量中。您可以使用 bash 的字符串操作来仅获取当前目录的名称:

dir=${PWD##*/}

然后,因为 file1.dat 是第一个参数:

wget -N "https://dl.dropboxusercontent.com/u/xxxxxx/${dir}/$1"

因此,函数将是:

MyNewFunction () {
    local dir=${PWD##*/}
    wget -N "https://dl.dropboxusercontent.com/u/xxxxxx/${dir}/$1"
}

或者:

MyNewFunction () {
    wget -N "https://dl.dropboxusercontent.com/u/xxxxxx/${PWD##*/}/$1"
}

关于linux - 带参数的 Bash 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42245782/

相关文章:

linux - 如何检索 linux 上交换空间的详细使用情况

git bash 自动完成在 Windows 7 x64 上很慢

linux - 具有两个输入文件的 For 循环

linux - lsdev 有 mac os x 版本吗?

bash - 按年求和并用 0 插入缺失的条目

php - 使用 PHP 列出服务器上所有正在运行的进程

java - 假 X11 显示器?

c++ - Makefile 无法找到 *.o 文件来生成 .exe

PHP - 使用 XML 时解析错误

linux - 在 bash 脚本中使用它。