gpt4 book ai didi

linux - 返回当前 UTC 时间字符串的 Bash 函数回显它和 CWD 以及原始文件名

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:20 34 4
gpt4 key购买 nike

尝试从 UTC() bash 函数返回一个字符串到 $SST 变量,然后用 echo 打印它同时调用 cwd在做 echo 时。

#!/bin/bash

UTC(){ return "$(`date -u \"+%FT%TZ\"`)" }
SST="$(UTC)"; #ISO 8601 Script Start Time
owd="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" #Path to THIS script.
me="$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")"
echo -e "Started '$me' from '$owd' with 'cwd'='`$(cwd)`' @ $SST."

最佳答案

不要尝试将命令作为字符串返回;直接执行命令即可。

UTC() { date -u "+%FT%TZ"; }

当前目录命令是pwd 不是cwd。你有两个反引号 `...`$(...)。您只需要其中之一。

echo -e "Started '$me' from '$owd' with 'cwd'='$(pwd)' @ $SST."

最后,如果您愿意,可以去掉变量赋值中的引号。严格来说,它们不是必需的,但如果您不确定,也可以错误地加上引号。

SST=$(UTC)
owd=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
me=$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")

关于linux - 返回当前 UTC 时间字符串的 Bash 函数回显它和 CWD 以及原始文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29216584/

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