AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[functions](ubuntu)

Martin Hope
Mario Palumbo
Asked: 2020-10-23 12:51:40 +0800 CST

如果函数的名称是表达式的第一个单词,是否只能调用函数?

  • -2

如果函数的名称是表达式的第一个单词,是否只能调用函数,就像别名一样?
或者它也可以是表达式的第 n 个单词?
我无法模拟回答我这个问题的用例。
我找不到能回答我这个问题的指南。
作为意大利人,我发现很难在谷歌搜索引擎上找到合适的词。
您还可以在答案中提及来源吗?
谢谢你。

更新:
5 个答案(包括 1 个已删除和 2 个未回答)尽管该问题收到了 2 个不合理的反对票。一个简单易懂、完整且不需要细节的问题,无论如何插入只会混淆概念。尽管我对用户的反应和不友好的评论不满意,但@muru 的答案是最正确的。显然事情在 for 循环中发生了变化,但这是暗示的,我也使用 bash 多年了。
您的链接回答了我的问题:Function Definition Command,其中有一点说:
“
只要将函数名称指定为简单命令的名称,就应执行复合命令。
命令的操作数在复合命令执行过程中临时成为位置参数;特殊参数“#”也应更改以反映操作数的数量。特殊参数 0 应保持不变。当函数完成时,位置参数和特殊参数'#'的值应恢复为函数执行前的值。如果在复合命令中执行了特殊的内置返回(参见 return),则函数完成并在函数调用后的下一个命令继续执行。
“
谢谢@muru。

bash functions
  • 4 个回答
  • 259 Views
Martin Hope
code-8
Asked: 2020-06-04 14:24:48 +0800 CST

多个别名触发相同的功能

  • 0

我正在尝试创建一个函数,但我想通过任一别名触发:debugApp,debugApi

而不是创建 2 个函数来做同样的事情

debugApp() {

    #update .env to generate log
    sed -i -e 's/.*API_DEBUG=.*/API_DEBUG=true/g' /Users/jdoe/laravel/.env
    echo "-----------------------"
    cat /Users/jdoe/laravel/.env | grep API_DEBUG


    #remove old logs
    # rm -rf /Users/jdoe/laravel/storage/logs/*
    ls /Users/jdoe/laravel/storage/logs/

    #display correct logs
    tail -f /Users/jdoe/laravel/storage/logs/laravel-$(date "+%Y-%m-*").log
}


debugApi() {

    #update .env to generate log
    sed -i -e 's/.*API_DEBUG=.*/API_DEBUG=true/g' /Users/jdoe/laravel/.env
    echo "-----------------------"
    cat /Users/jdoe/laravel/.env | grep API_DEBUG


    #remove old logs
    # rm -rf /Users/jdoe/laravel/storage/logs/*
    ls /Users/jdoe/laravel/storage/logs/

    #display correct logs
    tail -f /Users/jdoe/laravel/storage/logs/laravel-$(date "+%Y-%m-*").log
}

有没有更好的办法?

command-line bash bashrc alias functions
  • 1 个回答
  • 49 Views
Martin Hope
peanek
Asked: 2020-04-07 03:37:07 +0800 CST

与命令和附加参数一起使用的 Bash 函数

  • 0

我想把重复的行改成小函数,去掉不必要的代码。它可以是dialog具有相同参数但--msgbox总是不同的命令的功能。如何以正确的方式组合字符串并执行函数?

这么久它看起来像这样:

function DIALOG_OK() {
    local function_name="${FUNCNAME[1]}"
    local msg="${1}"
    dialog --title "Fist boot detected !" --backtitle "HeadlineHere" ${msg}
}

执行:

DIALOG_OK --msgbox "\nFist boot configuration wizard detected.\nPlease choose OK to continue.\n" 8 40

输出:

Error: Expected at least 3 tokens for --msgbox, have 0.
bash dialog functions
  • 1 个回答
  • 179 Views
Martin Hope
Jim6834
Asked: 2019-10-21 04:01:29 +0800 CST

在目录中创建文件的函数

  • 2

我有 4 个目录:dir1 dir2 dir3 dir4。我想在每个目录中创建一个文件。我知道我可以这样做:触摸 file1.txt,然后将其移至 dir1,然后触摸 file2.txt,然后将其移至 dir2,但这需要很长时间。如何创建一个在每个目录中创建文本文件的函数?谢谢

directory files functions
  • 2 个回答
  • 117 Views
Martin Hope
Zivko Stoimcev
Asked: 2019-10-10 01:09:04 +0800 CST

禁用更改背景功能

  • 1

如何从 Ubuntu 18.04 的终端禁用“更改背景”功能?并一直设置一个标准背景?谢谢 :)

background functions
  • 1 个回答
  • 229 Views
Martin Hope
Amin
Asked: 2019-09-19 02:36:36 +0800 CST

定义函数不起作用

  • 1

我想定义这个函数:

displayInfo (){ echo "Hi";cal;date }

但是按回车后,这是我看到的:

>

有什么问题?

command-line bash functions
  • 2 个回答
  • 322 Views
Martin Hope
jarno
Asked: 2019-05-27 01:23:56 +0800 CST

如何找到某些 bash 函数的定义位置?

  • 33

Bash shell 中可以使用许多功能。它们的定义可以通过 列出set,但是如何找到在哪些文件中定义了某些用户定义的函数?

bash functions
  • 3 个回答
  • 2962 Views
Martin Hope
Chymmi
Asked: 2019-04-26 08:59:50 +0800 CST

将函数另存为别名

  • 0

我正在研究使用单个命令调整和优化目录中所有图像的功能。

到目前为止,我创建了这个函数

function prepareimages() {

    # Resize Images
    for img in *.jpg; do
        convert -resize $1\! "$img" "$img"
    done

    # Optimize Images
    jpegoptim *.jpg
}

这个想法是我可以使用

prepareimages("400x300")

然后我尝试将别名保存在 .bashrc 文件中,但不知道如何保存

我知道您可以保存普通命令,例如

alias home="ssh [email protected]"

但是有没有办法将函数保存为别名?

alias prepareimages = prepareimages();

这不起作用。

command-line gnome-terminal bash alias functions
  • 1 个回答
  • 438 Views
Martin Hope
oligofren
Asked: 2019-03-06 02:42:49 +0800 CST

如何在函数中使用别名?

  • 5

在我的点文件中,我有一些依赖别名或函数存在的函数才能工作。出于某种原因,我可以让它们引用我创建的其他函数,但不能引用命令的别名。我该如何解决?

例子:

function open-dotfiles-commit(){ 
    xopen https://github.com/fatso83/dotfiles/blob/$1; 
}

如果我有别名xopen( alias xopen=xdg-open),该open-dotfiles-commit命令将失败并显示xopen: cannot find command. 另一方面,如果我用一个名为xopen( function xopen(){ xdg-open; };) 的函数替换别名定义,它就可以工作!

我什至尝试shopt -s expand_aliases在与我定义别名的位置相同的文件中进行设置 - 不成功。别名和函数文件来自我的.bashrc.

bash bashrc alias functions
  • 1 个回答
  • 2694 Views
Martin Hope
Born vs. Me
Asked: 2019-01-15 01:41:57 +0800 CST

bash函数实现python命令

  • 2

我有这个

python -c "import sys, urllib as ul; \
    print ul.quote('sample hihi ')"

如何将它包装到 bash 函数中,这样我就可以像这样调用它:

urlencode('sample hihi ')

谢谢

bash functions
  • 1 个回答
  • 1512 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve