标签: command

如何获取 bash 脚本中命令的版本

因此,正如问题所暗示的,我想获取 bash 脚本中命令的版本,而不是使用终端。

我知道所有可用的命令都以文件形式存在于目录/usr/bin中。但它没有提供版本,并且当您使用 cat 作为(命令)文件之一时,它会提供一些有趣的信息。

例如 -cat /usr/bin/man给出 -

有趣的输出

这是什么以及如何获取版本?

我使用的是 Ubuntu 20.04。

我知道在这里问这是一个愚蠢的问题,但我找不到任何东西:/

据说最终编辑 - 接受的答案对我有用,我正在使用该功能。

后来我也意识到类似的东西foo --version也会起作用

但是,如果您使用变量来存储版本,那么您需要小心语法,我的做法是错误的。感谢@Romeo Ninov 指出这
foo --version也有效。

对于这些愚蠢的错误我真的很抱歉。

linux shell-script command

2
推荐指数
2
解决办法
1932
查看次数

如何在终端中跟踪 Linux 命令以查看它在执行时使用哪些文件?

我想知道命令在运行时使用哪些文件(系统文件和非系统文件)。

linux terminal command

2
推荐指数
1
解决办法
382
查看次数

如何禁止未经许可的命令

我打算删除目录中的所有备份文件,所以我要rm *~在终端中输入。不幸的是,我在按下波浪号之前按下了Enter 键,不幸的事情发生了。虽然,我已经恢复了所有已删除的文件,但我真的不希望它再次发生。除非获得超级用户的权限,否则我可以禁止执行这样的命令吗?

command-line command user-interface

1
推荐指数
1
解决办法
343
查看次数

linux ubuntu 上的命令“我是”

我确实打字I'm running,然后喜欢它是否是一个程序。我只是想更多地了解这个命令或程序。

ubuntu terminal command

1
推荐指数
1
解决办法
189
查看次数

在 /bin 中创建符号链接会自动在 /usr/bin 中创建第二个链接,which 命令选择 /usr/bin

我刚刚创建了一个可执行文件:

ln -s /path/to/script.sh /bin/script
Run Code Online (Sandbox Code Playgroud)

然后我检查一切是否成功并且它确实(/bin/script已创建)但这也创建了

/usr/bin/script
Run Code Online (Sandbox Code Playgroud)

如果我检查系统用于script命令的内容which,它会使用/usr/bin/script.

以下是链接:

2370517 0 lrwxrwxrwx. 1 root root 32 Jun 26 15:48 /bin/script -> /home/username/Scripts/script.sh
2370517 0 lrwxrwxrwx. 1 root root 32 Jun 26 15:48 /usr/bin/script -> /home/username/Scripts/script.sh
Run Code Online (Sandbox Code Playgroud)

问题

为什么它创建第二个链接而不是遵守给定的命令,这是什么原因?

请注意,在创建此符号链接之前,我检查了该命令是否存在:

which script
/usr/bin/which: no script in (/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:
/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/usr/lib64
/alliance/bin:/usr/libexec/sdcc:/home/username/.local/bin:/home
/username/bin:/usr/lib64/alliance/bin:/usr/libexec/sdcc:/usr/lib64
/alliance/bin:/usr/libexec/sdcc)
Run Code Online (Sandbox Code Playgroud)

编辑#1

每条要求提供更多信息的评论:

$df
Filesystem                       1K-blocks       Used Available Use% Mounted on
devtmpfs                           4067656          0   4067656   0% /dev
tmpfs                              4079452       7876   4071576 …
Run Code Online (Sandbox Code Playgroud)

fedora symlink files command

1
推荐指数
1
解决办法
545
查看次数

更改多个文件的基础(不是扩展名)的最后 10 个字符

我有许多不同长度但扩展名相同的文件,我尝试了许多命令来一次重命名所有文件。

是否可以只更改所有文件名基数的最后 10 个字符?最后 10 个字符始终相同。

例如 :

img(12345678).txt
test(12345678).txt 
download(12345678).txt
upload(12345678).txt
Run Code Online (Sandbox Code Playgroud)

我想替换(12345678)abcdefghij

rename files command

1
推荐指数
1
解决办法
347
查看次数

linux 中 ls 命令的替代方法是什么?

如何在不使用 ls 命令的情况下列出当前目录或任何目录路径内容?我们可以使用 echo 命令来完成吗?

command-line ls bash command

1
推荐指数
1
解决办法
3万
查看次数

从命令 shell 调用 debian 上的 URL

我需要一个命令,它只会将 http 请求发送到所需的 Web 目录?这样的东西存在吗?

shell http command

1
推荐指数
1
解决办法
2万
查看次数

如何以数组的形式提供命令参数?

我正在尝试测试存档是否包含所有文件。我需要做的就是一个简单的解压然后制作。shell 不断尝试像-aoq程序一样解释参数。其他错误也存在,但我会尽量避免读者这样做。以下是一些失败的尝试:

失败

RESULT=$(unzip -aoq cryptopp563.zip -d "$TMP/cryptopp563-zip/")
if [[ "$RESULT" -eq "0" ]]; then ... fi;

RESULT=$(unzip (-aoq cryptopp563.zip -d "$TMP/cryptopp563-zip/"))
if [[ "$RESULT" -eq "0" ]]; then ... fi;

RESULT=$(unzip ("-aoq" "cryptopp.zip" "-d" "$TMP/cryptopp-zip/"))
if [[ "$RESULT" -eq "0" ]]; then ... fi;

RESULT=$(unzip "-aoq cryptopp563.zip -d $TMP/cryptopp563-zip/")
if [[ "$RESULT" -eq "0" ]]; then ... fi;

RESULT=$(unzip "{-aoq cryptopp563.zip -d "$TMP/cryptopp563-zip/"}")
if [[ "$RESULT" -eq "0" ]]; then ... fi;

RESULT=$(unzip "(-aoq …
Run Code Online (Sandbox Code Playgroud)

bash command arguments

1
推荐指数
1
解决办法
923
查看次数

如何在 unix 中的 mv 命令完成之前等待?

我需要压缩一些文件,使用mv命令将压缩文件移动到其他目录 ,然后从原始位置删除所有文件。但在我的情况下,rm命令是在mv命令和失败mv命令之前执行的。

我尝试了以下方法,但没有帮助。

方法一:

$ zip -r foo.zip * &;  wait %1 && mv foo.zip mydir &; wait %1 && rm -rf *
Run Code Online (Sandbox Code Playgroud)

方法二:

[ zip -r foo.zip *] || {mv foo.zip mydir && rm -rf *}
Run Code Online (Sandbox Code Playgroud)

zip command

1
推荐指数
1
解决办法
890
查看次数