bash-functions

将目录移动到其他目录并保留目录结构
bash-functions

将目录移动到其他目录并保留目录结构

我想将文件移至 中./dir1/subdir1,/dir2这样最终结果是存在一个/dir2/dir1/subdir1包含先前包含在 中的文件的目录subdir1。 我想对使用 find 命令找到的所有文件执行此操作,因此该命令接受 form 的输入很重要movecommand ./dir1/subdir1 /dir2/,即我不必重复第二个参数的内部结构。 有没有好的方法可以做到这一点? ...

Admin

函数在终端中运行,但在 .sh 脚本中不起作用
bash-functions

函数在终端中运行,但在 .sh 脚本中不起作用

我正在尝试使用 Bash 命令来完成,只是为了完成一些用于我的主 .sh 文件的命令。但我在使用这个 Bash 代码时遇到了一些问题: function _test() { local cur COMPREPLY=() cur=${COMP_WORDS[COMP_CWORD]} COMPREPLY=($( compgen -W '--activate --help --new' -- $cur ) ) } complete -F _test test 现在,当我将其放入终端并调用它时,代码可以正常工作,但如果我将其放入 .sh 脚本并运...

Admin

在 bash 函数中,如何在定义时将输出通过管道传输到 python 程序而不调用 python 程序?
bash-functions

在 bash 函数中,如何在定义时将输出通过管道传输到 python 程序而不调用 python 程序?

提前道歉,我不擅长编写 shell 脚本。 我有一个 bash 函数,如下所示: tagDownload() { mp3 "$@" | /home/username/bin/tag.py } 其中mp3是另一个 bash 函数,它生成 python 脚本使用的一些输出。该函数存储在一个点文件中,每当打开终端时都会获取该点文件。 我期望(并且希望)发生的是tagDownload其组成组件仅在被调用时被调用。实际发生的情况是,当打开新终端时获取包含此定义的点文件时,将调用 python 脚本。 我有两个问题: 我应该如何构建tagDo...

Admin

为什么 sh (不是 bash)抱怨我的 .bashrc 中定义的函数?
bash-functions

为什么 sh (不是 bash)抱怨我的 .bashrc 中定义的函数?

当我打开终端会话时,我得到了这个: sh:导入“read.json”的函数定义时出错 sh:导入“ts-project”的函数定义时出错 sh 不喜欢这些函数,因为它们看起来像: read.json(){ :: } 和 ts-project(){ :: } 真正的问题是 - 为什么要sh触摸/解释这些文件?我在 MacOS 上,以前见过这个,这真是一个谜。我认为只有 bash 会加载这些文件。 更新:bash 和 sh 没什么特别的。当我在终端中输入 bash 时,我得到了这个: alex$ bash beg...

Admin

使用 sudo 时,docker 函数不会递归调用自身?
bash-functions

使用 sudo 时,docker 函数不会递归调用自身?

我在 AWS 上的 Ubuntu EC2 实例上,我的 ~/.bashrc 文件中有以下内容: docker(){ sudo docker "$@" } export -f docker; 因为我信任 docker,所以我基本上使用 sudo 运行所有 docker 命令,这就像我在远程服务器上为 DevOps 体验所做的最好的事情。但是,我不知道它为什么起作用 - 我认为 docker 函数会递归地调用自身,直到某个堆栈爆炸或其他原因。我的猜测是 sudo 只会调用命令而不是 bash 函数? 我尝试这样做,例如: docker(){ ...

Admin

为什么 Bash 会自动在函数中使用的 ls 命令中插入 --color=auto
bash-functions

为什么 Bash 会自动在函数中使用的 ls 命令中插入 --color=auto

我有这个setup文件: function latest { count=${1:-5} ; echo "Just changed" ls -lrtd * | tail -$count ; } 我称之为: . setup 然后我询问 bash 该latest函数是否已定义: >type latest latest is a function latest () { count=${1:-5}; echo "Just changed"; ls --color=auto -lrtd *...

Admin

安装 bash 函数,无需用户获取文件
bash-functions

安装 bash 函数,无需用户获取文件

有没有办法将 bash 函数安装到用户环境中,而无需他们获取文件源?通常,我会看到函数位于文件中的安装,最终用户必须从 ~/.bashrc 或 ~/.bash_profile 获取该文件。 假设我有一个像这样的 bash 函数: bunion(){ "$@" | bxn } export -f bunion 它只是将他们的程序传输到我的程序中。有什么方法可以将该 bash 函数写入 bash 哈希值或其他内容吗? ...

Admin

将一组 bash 命令传递给 bash 函数
bash-functions

将一组 bash 命令传递给 bash 函数

我想传递以下一组 bash 命令 { echo Apple; echo Banana; } 作为 bash 函数的参数,定义.bashrc如下: BashFunction(){ "$@" | SomeOtherFunction } BashFunction '{ echo Apple; echo Banana; }' 但我收到这个错误: { echo Apple; echo Banana; }: command not found 如果我从 bash 函数中删除引号 BashFunction(){ $@ | SomeOtherFu...

Admin

具有 bashrc 中定义的函数的 env 命令
bash-functions

具有 bashrc 中定义的函数的 env 命令

我的 中有一个函数~/.bashrc: foo () { echo $FOO } 现在,这有效: $ source ~/.bashrc $ setenv FOO "yes" $ foo yes 但这并没有: $ env FOO="no" foo foo: no such file or directory GNU bash,版本 4.2.46(2)-release (x86_64-redhat-linux-gnu) ...

Admin

如何消除导入的 bash 函数中的 sh 错误?
bash-functions

如何消除导入的 bash 函数中的 sh 错误?

所以我有一个 .bash_aliases 文件,里面有许多导出的 bash 函数;其中很多与 sh 不兼容... 问题是 sh 在我通过 ssh 进入的笔记本电脑 (OS X) 和 Linux 机器上到处使用。此外,它总是尝试导入我的 bash 函数和垃圾邮件错误。 有问题的函数是: 我所有名称中带有“-”的函数(注意:这些只是 OS X 上的垃圾邮件错误,而不是 Linux 上的) 和一个 log() 函数(如下),其语法仅在 bash 中合法 log() { # braces allow for piping of same outpu...

Admin

如何在 bash 中“导出”函数?
bash-functions

如何在 bash 中“导出”函数?

我有一个脚本,里面有很多函数。 myfile1.sh: func1() {} func2() {} 我可以通过脚本调用它们: myfile2.sh: source myfile1.sh func1 func2 但是,如果源自嵌套脚本,我该如何调用它们呢? myfile3.sh: ./myfile2.sh func2 func2: command not found 我可以“导出”函数myfile2以便每个人都知道它们吗? 我无法使用,export -f因为有很多功能。 ...

Admin

将参数传递给 BASH 函数
bash-functions

将参数传递给 BASH 函数

我正在尝试从命令行运行 FoxitReader。 为了打开它,我创建了这个函数: foxit(){ /home/quora/opt/foxitsoftware/foxitreader/FoxitReader.sh } export -f foxit 并把它放进去.bashrc。这不会将文件名作为参数。所以,foxit mypdf.pdf会打开foxit,但不会打开文件。 foxit(){ /home/quora/opt/foxitsoftware/foxitreader/FoxitReader.sh "$@" } ...

Admin

MacOS:更改屏幕捕获位置
bash-functions

MacOS:更改屏幕捕获位置

我做了很多涉及许多屏幕截图的演示,我想要一种更简单的方法来按项目组织它们。我正在尝试编写一个简单的函数来更改屏幕截图保存到当前工作目录的位置。 我已经编写了一个函数并将其保存到~/.my_custom_commands.sh. 该文件当前如下所示: #!/bin/bash # changes location of screenshot to current directory function shoothere() { defaults write com.apple.screencapture location '. ' kill...

Admin

稍后更改文件中的值
bash-functions

稍后更改文件中的值

我有一个像数据库一样的文件,其中保存姓名、出生日期、礼物,我想知道这个人是否收到了我们的礼物。这些日期在文件中按制表符分隔,每行一个人,例如: name1 surname1 dateofbirth1 gift1 name2 surname2 dateofbirth2 gift2 在礼品栏中,我保存“是”或“否”,我的代码如下所示: while IFS=$'\t' read -r name surname dob gift; do if [[ "$gift" == "No" ]]; then echo "Congra...

Admin