some_very_long_command_line --arg1 --arg2=555 --arg4 ... ... ... && <now Tab pressed>
(Now it works. I want to cancel before the following message)
Display all 6936 possibilities? (y or n)
Run Code Online (Sandbox Code Playgroud)
如何长时间搜索 Tab 完成,但不丢失命令?
如果只是按 Ctrl+C 它将中止,但也不会将命令保存到历史记录。
在 bash 中,我试过
ls [a-z]*
Run Code Online (Sandbox Code Playgroud)
并期望列出所有文件名以小写字母开头的文件。但是为什么还显示名称以大写字母开头的文件?
>ls [a-z]*
D e
>
Run Code Online (Sandbox Code Playgroud)
如果需要,bash 版本:
bash --version GNU bash,版本 4.1.5(1)-release (i486-pc-linux-gnu) 版权所有 (C) 2009 Free Software Foundation, Inc. 许可证 GPLv3+:GNU GPL 版本 3 或更高版本http://gnu .org/licenses/gpl.html
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Run Code Online (Sandbox Code Playgroud) 在 Mac OS X 或 Linux 上,是否有更简单的命令形式
find . -name "*substring_of_filename*"
Run Code Online (Sandbox Code Playgroud)
这是查找名称包含substring_of_filename在当前目录(或其他给定目录)中的所有文件。因为这是一件很常见的事情,所以有没有办法让命令更短更容易输入,可能在 Bash 中使用别名或函数?或者是否有其他一些易于输入的命令可以使用?
如:
findfile . substring_of_filename
Run Code Online (Sandbox Code Playgroud)
(注意:最初编写的问题使用app_config作为substring_of_filename的示例。)
我不明白我使用两个基本脚本(在高端服务器上运行)运行的简单性能测试的结果:
perfVar.zsh:
#!/bin/zsh -f
MYVAR=`cat $1`
for i in {1..10}
do
echo $MYVAR
done
Run Code Online (Sandbox Code Playgroud)
perfCat.zsh
#!/bin/zsh -f
for i in {1..10}
do
cat $1
done
Run Code Online (Sandbox Code Playgroud)
性能测试结果:
> time ./perfVar.zsh BigTextFile > /dev/null
./perfVar.zsh FE > /dev/null 6.86s user 0.32s system 100% cpu 7.177 total
> time ./perfCat.zsh BigTextFile > /dev/null
./perfCat.zsh FE > /dev/null 0.01s user 0.10s system 91% cpu 0.118 total
Run Code Online (Sandbox Code Playgroud)
我原以为访问 VARIABLE 比读取文件系统上的 FILE 快得多......为什么会出现这个结果?有没有办法通过减少对文件系统的访问次数来优化 perfCat.zsh 脚本?
我以一副落下的纸牌的形式编写了一个进度指示器(我妻子的想法)。
它尚未达到最终形式。这是代码:
vdeck="| | | | | "
hdeck[1]="__ | | | |"
hdeck[2]="__ __ | | |"
hdeck[3]="__ __ __ | |"
hdeck[4]="__ __ __ __ |"
hdeck[5]="__ __ __ __ __"
while true
do
clear
echo -n -e "\r$vdeck"
sleep 0.8
for i in 1 2 3 4 5
do
echo -n -e "\r${hdeck[$i]}"
sleep 0.2
done
clear
done
Run Code Online (Sandbox Code Playgroud)
是否可以在没有 hdeck 数组的情况下优化此代码并获得相同的效果?增加'|' 意味着增加“hdeck”数组组合,这不好。
我在 bash shell 中使用 vi 模式。
如果我进入插入命令模式并输入 1-9 之间的数字(例如:5,在下面的示例中),我会收到以下提示:
(arg: 5) <cursor>
Run Code Online (Sandbox Code Playgroud)
这是什么意思?我似乎无法对这个提示做任何有用的事情,我不知道它的目的是什么。
我什至查看了 bash 源代码,而这些源代码又进入了 GNU Readline 源代码。
最终被调用的函数是rl_vi_arg_digit,然后调用rl_digit_argument,显示(arg: N)提示。但我无法从评论或相关代码中看到它实际用于.
有人知道吗?
我正在使用 bash shell 并且在我的.bashrc.
当Terminal应用程序打开时(在我的 Mac 上),这个文件没有被初始化。
我总是能够手动. ./.bashrc,但我宁愿不必这样做。
文件的名称是什么,它可以为我初始化我的环境,或者我可以在其中放置自定义选项的文件?
我正在尝试从命令行运行openscad并抛出错误,但是如果我输入报告的整个路径,它似乎可以正常工作,如下所示。
[dataproc@Euclid ~]$ which openscad
/usr/bin/openscad
[dataproc@Euclid ~]$ openscad
bash: /usr/local/bin/openscad: No such file or directory
[dataproc@Euclid ~]$ /usr/bin/openscad
[dataproc@Euclid ~]$ #this worked
Run Code Online (Sandbox Code Playgroud)
我完全不知道这里发生了什么,任何帮助将不胜感激。