标签: osx

附加回声 [密码生成器]

我正在创建一个密码生成器,但是我没有得到正确附加的密码。

这是我的脚本

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文件作为预期输出。

谢谢。

osx bash echo random hex

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

/Library: 以 root 用户身份登录时不允许操作

我正在尝试在 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)

osx users terminal not-root-user

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

如何显示系统上所有可用的 unix 命令?

我在看书,Learning Unix for OS X by Dave Taylor。它说:

要快速查看系统上的所有二进制可执行文件(Unix 程序),

打开终端,按住Shift键,然后按Esc-?,或按Control-X后接Shift-1Shift-1用于获得感叹号)。

但是,在终端中显示命令之前,首先会提示(要求)您做出选择:

$ 
Display all 1453 possibilities? (y or n)
Run Code Online (Sandbox Code Playgroud)

如果您按下n键盘上的键,您将被带回命令提示符,并且不会发生任何其他事情。但是,如果您按下该y键,您将在终端窗口中看到一个多列的 Unix 命令列表。

但是,问题是,当我按住Shift键并按下时Esc-?什么也没有发生。按下Control-X后跟Shift-1. 我究竟做错了什么?在使用此功能之前,是否需要启用任何设置?我在 Mac El Capitan 上使用 iTerm2。它也不适用于股票终端。任何帮助将非常感激。谢谢你。

osx zsh executable

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

如何检查 xargs 的版本?

我在 Mac 上,我想获得 xargs 的版本。我试过xargs -v, xargs --version, xargs -h, xargs --help, xargsman xargs但仍然找不到和版本相关的信息。我怎样才能得到它的版本?

osx xargs

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

如何根据大小移动文件?

我试过这个:

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)

osx find

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

当从 echo 输入而不是从文件输入时 sed 有效

以下删除电子邮件地址字符串的周围引号:

$ 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 正则表达式替换不起作用。
我究竟做错了什么?

linux osx shell sed regular-expression

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

Glob 匹配子目录

希望我不是唯一一个发现 glob 行为不当的人。如果你在一小时前问我,我有 99% 的把握

test/src/**/*.js
Run Code Online (Sandbox Code Playgroud)

将匹配 src 中的所有 .js 文件和 src 的所有子目录。但我在 MacOS 上使用 Bash 3.2.57,它不匹配多个文件。

有谁知道可能有什么问题?

osx bash wildcards

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

在配置中使用 gettext

我正在尝试在 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 编译器

解决此类问题的正确方法是什么?我了解这可能与有关

osx compiling homebrew

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

Rm 硬链接而不删除文件/目录本身

假设我创建了一个硬链接ln x y

创建链接后,有没有办法在不删除 x 处的文件的情况下删除 y 处的链接?看起来我rm -rf在 y 上做了一个,它也删除了 x,如果可能的话,我想避免这种情况,哈哈。

osx hard-link rm ln

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

OS X 忽略 sshd_config

我试图从我的 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

osx encryption sshd

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