问题标签 [bash-function]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - 如何在 bash 中创建秒表?
我创建了一个简单的秒表(bash 函数)来计算时间,但现在它以毫秒为单位显示当前时间。
编码:
我尝试按照此答案中的说明进行更改,但它仅适用于自 Unix Epoch 以来的第二个。
当我使用date
格式+%s.%N
时,由于 bash 减法只需要整数,因此上述答案的减法停止工作。
我该如何解决它并拥有一个可以打印时间的终端秒表,如下所示:
?
bash - 过时的功能仍保留在 bash 环境中
如果我在 bash 脚本中定义一个函数,例如 envsetup.sh
然后我通过
. envsetup.sh
我的环境中有 blabla 功能可以使用。但是,如果我删除此函数并再次获取它,则 blabla 函数仍然存在。
为什么不删除?
bash - 如何覆盖 pushd 和 popd 对 dirs 的自动调用?
我的bash
(4.1)目录堆栈通常有十几个或更多条目。我想用dirs
with替换输出dirs -v
,所以我再也不用玩“猜魔数”pushd
了。
我的部分解决方案
我替换为使用dirs
执行的函数:dirs -v
command
(更新:根据气动的建议,我现在使用builtin
代替command
。它不能解决这个问题,但它稍微安全一些。)
dirs
输出现在可读,但pushd
仍然popd
产生旧的 vomit-of-slashes:
dirs
用别名替换我的函数后,我得到了相同的(缺少)结果:
解决方法
pushd
我最终通过覆盖和得到了我想要的输出popd
:
这可行,但它需要覆盖三个内置函数而不是一个。此外,这可能是一个不完美的模仿,pushd
并且popd
在某些极端情况下我没有想到。我宁愿dirs
只覆盖。
我的问题
为什么覆盖dirs
不起作用? 根据bash
的man
页面,在pushd
和下popd
:
如果
pushd
命令成功,dirs
也会执行 a。
那么为什么pushd
并且popd
似乎调用了内置dirs
函数而不是函数或别名呢?
关于bash
文档的脚注
在线手册dirs
中缺少“a is perform as well”的段落,但它们出现在页面和中。我的4.1 文档和当前的 4.4 文档都以相同的方式不一致,这表明 4.4(如果我有的话)的行为相同。bashref.*
man
bash.*
builtins.*
bash
bash - Bash函数不执行输入命令
在 bash 文件s.sh
中,我有一个 Executor 函数,我将要执行的命令传递给该函数。每当某些命令未按预期工作时,此函数就会输出该命令。
现在我正在调用这个函数 -
Executor clangPath="Hello" make
(这用于在makefile中将clangPath变量的值设置为“Hello”)
这导致了一个错误 -
但是像这样执行相同的命令可以正常工作
看了错误之后,我以为字符串引号可能有错误,所以我尝试了
exitIfFail clangPath='"Hello"' make
即使这导致了错误 -
错误的原因可能是什么?
bash - 使用非标准名称取消设置 bash 函数变量
我可能在一个来自 shell 的 bash 脚本中拥有这个函数
如果我打电话
事情似乎按预期工作
但是,如果我将此作为我的功能:
那么如果我打电话
或者
我收到这条消息:
如何按原样取消设置此变量?
bash - 具有多个布尔函数的 Bash 谓词
编写 bash 脚本但不知道如何在谓词中使用多个函数:
输出:
为什么 POWEROFF 在 LOOP 之前?没有外部循环。使用多个函数编写谓词的正确方法是什么?
python - 如何获取和比较 Bash 函数参数?
这应该是一个简单的答案,但我一直无法找到一个简单的解决方案。我正在尝试创建一个运行 reindent.py 工具脚本的 bash 脚本,但我希望能够让用户输入他是否要将文件写回磁盘。基本上我想输入reindent_python -n FILE_PATH
or reindent_python FILE_PATH
。到目前为止,我得到了以下信息:
由于这是我的第一个 shell 脚本,我不确定如何获取第一个参数是否为 -n 以及是否$1
为 n 参数和$2
FILE_PATH?我将如何创建这个脚本?
谢谢!
linux - bash 脚本案例切换
我正在尝试case
在 bash 脚本的语句中初始化一个变量,
但我收到此错误:
我错过了什么?