小编jll*_*gre的帖子

在 shell 命令中向 heredoc 输出添加反引号 ( ` )

我需要PS1="..."在我正在设置的 shell 脚本中添加一个 cmd 提示修饰符。问题是,我使用反引号在主命令之前执行命令:

sudo tee ~/.bashrc <<EOF

# Display absolute path in cmd line, cmds on new line
PS1='\[`[ $? = 0 ] && X=2 || X=1; tput setaf $X`\]\h [\u]\[`tput sgr0`\]:$PWD\n\$ '

EOF
Run Code Online (Sandbox Code Playgroud)

cat ~/.bashrc 给出:

# Display absolute path in cmd line, cmds on new line
PS1='\[\]\h [\u]\[\]:/Users/myuser/Library/Application Support/Sublime Text 3/Packages/User\n$ '
Run Code Online (Sandbox Code Playgroud)

nano ~/bashrc 给出:

PS1='\[^[[32m\]\h [\u]\[^[(B^[[m\]:/Users/myuser/Library/Application Support/Sublime Text 3/Packages/User\n$ '
Run Code Online (Sandbox Code Playgroud)

这显然意味着没有正确读取反引号中的所有内容。如何使用 shell 转义反引号或以其他方式将包含反引号的行写入文件?

shell bash shell-script

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

使用 Netstat 仅计算已建立、TIME_WAIT 和已关闭等待连接的脚本

我正在尝试制作一个脚本(使用 Perl,但不是必需的),它只会计算系统上已建立、Time_Wait 和 Closed_Wait 连接的数量并在终端中打印它们。到目前为止,我已经发现我可以使用:

netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
Run Code Online (Sandbox Code Playgroud)

为了打印所有连接,但是当我从脚本运行它时,它不会在终端中打印,它还为我提供了一些我不想要的连接,例如 Listen 和 Foreign。它必须只显示已建立、Time_Wait 和 Closed_Wait 的原因是因为脚本正在被监视程序使用,如果出现任何其他连接类型,该脚本将失败。任何人都可以提出建议吗?谢谢!

linux scripting ksh awk perl

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

通过符号链接调用时 $0 持有什么?

$0外壳参数保存调用程序的名称。如果my_command在主目录中创建一个指向命令的符号链接/usr/local/bin/command1并通过键入 来执行它./my_command,那么 的值是$0多少?任何人都可以解释为什么?谢谢!

linux symlink

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

如何在 OpenBSD 上运行 VirtualBox?

我正在尝试找到一种在 OpenBSD 主机上运行 VirtualBox 的方法。我知道FreeBSD有一个端口。我还知道 OpenBSD 中有一个Linux 兼容层。这个 Linux 兼容性功能是否允许我在 OpenBSD 上运行 Linux 版本的 VirtualBox?还有其他方法可以在 OpenBSD 上运行 VirtualBox 吗?

openbsd virtualbox

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

Bash 似乎处于特殊模式

系统:Debian 8 with XFCE,Cli:Konsole Version 2.14.2(终端称为“Konsole”-> https://konsole.kde.org/

我的朋友让我帮他解决一个奇怪的问题。

一些键有一个奇怪的行为。

例如Shift + §使当前行只显示(arg: 0)(我们有一个瑞士键盘https://en.wikipedia.org/wiki/QWERTZ#/media/File:KB_Swiss.svg,你可以在左上角找到这个键)

ö给出(arg: 6)。等等...

我可以通过以下命令摆脱这种“模式”:

set -o vi
set +o vi
Run Code Online (Sandbox Code Playgroud)

但我之前不是在 vi 模式下。据我所知。但似乎有些东西被“重置”了。问题是,如果我使用上面的两个命令,我也会丢失一些我想要的设置。

编辑:我忘了提及;在另一个终端模拟器上——UXTerm行为是“正常的”。所以我想要的方式。但是在XTerm我有与 in 相同的行为Konsole

EDIT2:根据要求:

user@myMachine:~$ bind -p | grep arg
"\M--": digit-argument
"\M-0": digit-argument
"\M-1": digit-argument
"\M-2": digit-argument
"\M-3": digit-argument
"\M-4": digit-argument
"\M-5": digit-argument
"\M-6": digit-argument
"\M-7": digit-argument
"\M-8": digit-argument
"\M-9": digit-argument
"\M-.": insert-last-argument
"\M-_": insert-last-argument …
Run Code Online (Sandbox Code Playgroud)

bash

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

更改 Oracle Solaris 11.2 上的密码要求

是否可以更改对用户密码的严格要求,包括 root,例如,我不希望根据需要在密码中包含数字,因为这是一台家用机器,而我是唯一的用户?

password solaris accounts

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

shell 脚本 if 语句不起作用

我写了那个脚本,但如果我运行它,我会得到这个输出:

./autotex: line 7: syntax error near unexpected token `then'
./autotex: line 7: `            then'
Run Code Online (Sandbox Code Playgroud)

脚本是:

#!/bin/bash

while [ $key = "q"]; do

        dateTex = grep $1.tex| cut -b 43 - 54
        datePdf = grep $1.pdf| cut -b 43 - 54
        if[$dateTex !eq $datePdf]
        then
                pdflatex $1.tex
        fi

        read -t 1 -n 1 key

done
Run Code Online (Sandbox Code Playgroud)

shell-script

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

标签 统计

bash ×2

linux ×2

shell-script ×2

accounts ×1

awk ×1

ksh ×1

openbsd ×1

password ×1

perl ×1

scripting ×1

shell ×1

solaris ×1

symlink ×1

virtualbox ×1