Questions tagged «bash»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。

2
使用交互式SSH在远程主机上运行命令(有条件)
我希望能够在每次登录远程主机时在当前交互式SSH会话中自动在该主机上运行命令。 就像是 ssh user@remotehost [run do.sh] 在哪里do.sh执行几个内务处理任务,然后重新附加到screen会话(当前,我do.sh在登录主机后手动运行)。 我不想添加它,.bashrc因为我是从其他计算机登录到该主机的,并且我不想do.sh在从该计算机登录时运行,所以我需要它是可选的。

4
如何为特定文件或目录设置别名?
我经常使用几个文件。例如某些配置文件或日志文件。假设Apache日志文件。我经常想要tail或grep它。而不是写: tail -50 /var/log/apache2/error_log 我更喜欢写 tail -50 apachelog 因此,它apachelog充当该文件名的别名。但是,如果我在自己的别名中定义别名bashrc,则它必须是一个完整的命令;它(显然)不能是文件名的别名,以便您以后可以引用它。有没有办法做到这一点? 注意:我要运行的文件种类繁多,命令种类繁多,因此为所有这些不同选项创建函数或别名不是我的首选解决方案。
9 bash  alias 

3
zsh中的别名和bash中的别名之间的区别
我到处搜寻,但找不到任何结论。zsh中的alias命令和bash中的alias命令之间有区别吗?如果不是,这是否意味着我可以在两个shell之间共享一组别名,并期望它们能够按预期工作?
9 bash  zsh  alias 


1
compgen:忽略大小写
我想实现一个自定义bash补全为这里描述。但是,这似乎compgen是区分大小写的。有没有办法在这种情况下使其不区分大小写?

2
外壳程序(例如bash)如何扩展通配符模式?
假设一个目录有100个文件,以字母“ a”开头。 如果我grep <some string> a*从终端执行a ,外壳将如何处理呢? 它将扩展正则表达式,按顺序获取每个文件中以a和grep开头的所有文件的列表吗?还是有其他方法? 假设我有一个以“ a”开头的上述文件名数组。如果我编写一个for循环并在shell脚本或ac程序中自己进行迭代,会花费更多/更少的时间吗?
9 bash  shell  wildcards 

1
如何更改bash控制台字体以显示UTF-8字符
我在bash上正确显示UTF-8字符时遇到了一些麻烦。我试图提取一些压缩文件,这些文件的名称中包含重音字符,但出现无效的多字节字符错误。我.bash_profile用这个创建了一个: export LANG=en_US.UTF-8 export LOCALE=UTF-8 这样解决了提取问题。但是控制台仍然无法正确显示带重音符号的字符。Konqueror的重音字符没有问题。我需要做什么?
9 bash  unicode 


1
sh shell不支持$ @上的参数扩展吗?
我在AU上发布了一个问题的答案,我发现on的参数扩展$@不适用于shshell: <infile xargs -d'\n' sh -c 'echo "${@%%/*}"' _ 但它在中工作正常bash。这是sh外壳程序的预期行为吗,我如何在该处执行扩展? 此外,我知道使用-n1选项xargs我一次只能向命令传递一行,但是我对是否sh可以扩展很感兴趣$@: <infile xargs -d'\n' -n1 sh -c 'echo "${0%%/*}"' infile 包含: A1 /B1/C1 A 2/B2/C2 A3/B3/C3
8 bash  shell  dash 

1
bash进程替换为临时文件
例如,某些程序需要其文件可搜索objdump。 $ objdump -D -b binary -m i8086 <(echo 0xea 0x5b 0xe0 0x00 0xf0|xxd -r -p) objdump: Warning: '/proc/self/fd/11' is not an ordinary file 让进程替换使用临时文件会很方便。 我可以在手册页中看到bash可以通过进程替换回退到临时文件,但是我可以明确要求他使用临时文件吗? 喜欢zsh的=()。 $ objdump -D -b binary -m i8086 =(echo 0xea 0x5b 0xe0 0x00 0xf0|xxd -r -p) /tmp/zsh1u1Nrw: file format binary Disassembly of section .data: …



7
Bash awk命令带引号
我一直在努力寻找这个问题的答案。我正在编写一个快速脚本,以基于awk的输出运行命令。 ID_minimum=1000 for f in /etc/passwd; do awk -F: -vID=$ID_minimum '$3>=1000 && $1!="nfsnobody" { print "xfs_quota -x -c 'limit bsoft=5g bhard=6g $1' /home "}' $f; done 问题在于,该-c参数使用单引号引起来的命令,我无法弄清楚如何正确地对其进行转义,并且也$1无法扩展为用户名。 本质上,我只是想将其输出: xfs_quota -x -c 'limit bsoft=5g bhard=6g userone' /home xfs_quota -x -c 'limit bsoft=5g bhard=6g usertwo' /home 等等...
8 bash  shell  scripting 

2
仅在数据覆盖时覆盖文件
我试图用命令输出覆盖文件,但前提是有任何输出。也就是说,我通常要 mycommand > myfile 但是,如果这将myfile用空数据覆盖,我希望保留的旧版本myfile。我认为ifne应该可以使用一些东西 mycommand | ifne (cat > myfile) 但这不起作用... 间接方法 mycommand | tee mytempfile | ifne mv mytempfile myfile 可以,但是我认为使用该临时文件是不合理的。 问:为什么我的第一个想法无效?可以工作吗?还是为我的原始问题提供了另一个不错的,也许是完全不同的解决方案?
8 bash 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.