gpt4 book ai didi

linux - 带参数的 Bash 函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:21:26 25 4
gpt4 key购买 nike

我想创建一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com