我正在创建一个密码生成器,但是我没有得到正确附加的密码。
这是我的脚本
i="0"
while [ $i -lt 5 ]
do
echo -n '#' >> passwords.txt && openssl rand -hex 4 >> passwords.txt && echo -n '/' >> passwords.txt && echo -n 'X' >> passwords.txt
i=$[$i+1]
done
Run Code Online (Sandbox Code Playgroud)
输出
#b887e0d0
/X#7093289e
/X#2210cfcd
/X#fd175e1f
/X#0c18fc9e
/X
Run Code Online (Sandbox Code Playgroud)
预期产出
#b887e0d0/Z
#7093289e/Z
#2210cfcd/Z
#fd175e1f/Z
#0c18fc9e/Z
Run Code Online (Sandbox Code Playgroud)
我怎样才能使它不跳过第一行,并使其按该顺序运行每个命令并将写入密码txt文件作为预期输出。
谢谢。
我正在尝试在 El Capitan 上安装 Jekyll,但是我确实遇到了权限错误,如下所示。我以 root 用户身份登录。
Linards:~ Berzins$ sudo gem install jekyll
Password:
Ignoring psych-2.0.15 because its extensions are not built. Try: gem pristine psych --version 2.0.15
Ignoring json-1.8.3 because its extensions are not built. Try: gem pristine json --version 1.8.3
Fetching: jekyll-3.1.6.gem (100%)
ERROR: While exexcuting gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/jekyll
Linards:~ Berzins$ gem pristine psych --version 2.0.15
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
Linards:~ Berzins$ …Run Code Online (Sandbox Code Playgroud) 我在看书,Learning Unix for OS X by Dave Taylor。它说:
要快速查看系统上的所有二进制可执行文件(Unix 程序),
打开终端,按住
Shift键,然后按Esc-?,或按Control-X后接Shift-1(Shift-1用于获得感叹号)。但是,在终端中显示命令之前,首先会提示(要求)您做出选择:
Run Code Online (Sandbox Code Playgroud)$ Display all 1453 possibilities? (y or n)如果您按下
n键盘上的键,您将被带回命令提示符,并且不会发生任何其他事情。但是,如果您按下该y键,您将在终端窗口中看到一个多列的 Unix 命令列表。
但是,问题是,当我按住Shift键并按下时Esc-?什么也没有发生。按下Control-X后跟Shift-1. 我究竟做错了什么?在使用此功能之前,是否需要启用任何设置?我在 Mac El Capitan 上使用 iTerm2。它也不适用于股票终端。任何帮助将非常感激。谢谢你。
我在 Mac 上,我想获得 xargs 的版本。我试过xargs -v, xargs --version, xargs -h, xargs --help, xargs,man xargs但仍然找不到和版本相关的信息。我怎样才能得到它的版本?
我试过这个:
find . -type f -size 128 -exec mv {} new_dir/ \;
Run Code Online (Sandbox Code Playgroud)
哪个不起作用,它没有给我一个错误。这是使用时文件外观的示例stat -x
$ stat -x ./testfile | grep Size
Size: 128 FileType: Regular File
Run Code Online (Sandbox Code Playgroud) 以下删除电子邮件地址字符串的周围引号:
$ echo "john.doe@gmail.com" | sed 's/"([^"]*)"/\0/g'
john.doe@gmail.com
Run Code Online (Sandbox Code Playgroud)
但如果:
$ cat ~/Desktop/emails.txt
"john.doe@gmail.com"
$ sed 's/"([^"]*)"/\0/g' ~/Desktop/emails.txt
"john.doe@gmail.com"
$ sed -i '' 's/"([^"]*)"/\0/g' ~/Desktop/emails.txt
$ cat ~/Desktop/emails.txt
"john.doe@gmail.com"
Run Code Online (Sandbox Code Playgroud)
尝试使用包含相同字符串的文件应用完全相同的 sed 正则表达式替换不起作用。
我究竟做错了什么?
希望我不是唯一一个发现 glob 行为不当的人。如果你在一小时前问我,我有 99% 的把握
test/src/**/*.js
Run Code Online (Sandbox Code Playgroud)
将匹配 src 中的所有 .js 文件和 src 的所有子目录。但我在 MacOS 上使用 Bash 3.2.57,它不匹配多个文件。
有谁知道可能有什么问题?
我正在尝试在 macOS 上编译一个需要 gettext(对于 intltools)的程序。我尝试了以下命令来运行配置脚本:
LDFLAGS=-L/usr/local/opt/gettext/lib CPPFLAGS=-I/usr/local/opt/gettext/include ./configure
LDFLAGS=/usr/local/opt/gettext/lib CPPFLAGS=/usr/local/opt/gettext/include ./configure
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,它失败并显示以下错误消息
configure: error: GNU gettext tools not found; required for intltool
Run Code Online (Sandbox Code Playgroud)
在后一种情况下,它找不到 C 编译器
解决此类问题的正确方法是什么?我了解这可能与此有关
假设我创建了一个硬链接ln x y。
创建链接后,有没有办法在不删除 x 处的文件的情况下删除 y 处的链接?看起来我rm -rf在 y 上做了一个,它也删除了 x,如果可能的话,我想避免这种情况,哈哈。
我试图从我的 openSSH 安装中删除一些密码:
ssh -Q cipher
3des-cbc
blowfish-cbc
cast128-cbc
arcfour
arcfour128
arcfour256
aes128-cbc
aes192-cbc
aes256-cbc
rijndael-cbc@lysator.liu.se
aes128-ctr
aes192-ctr
aes256-ctr
aes128-gcm@openssh.com
aes256-gcm@openssh.com
chacha20-poly1305@openssh.com
Run Code Online (Sandbox Code Playgroud)
我试图通过编辑配置文件来删除,例如,blowfish-cbc:
vi /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)
并添加以下任一行:
Ciphers -blowfish-cbc
Run Code Online (Sandbox Code Playgroud)
或者
Ciphers [comma separated list of all other ciphers except for blowfish-cbc]
Run Code Online (Sandbox Code Playgroud)
但是,在系统重新启动或卸载/加载 SSH 时,仍会在 ssh -Q 密码中报告 blowfish-cbc。
我究竟做错了什么?
OS X 版本:10.11.6