我有一个Linux脚本,它像这样读取用户输入:
read -er user_input
这可能会失败,因为-e在bash中是受支持的(可能还有其他一些shell),但是如果使用zsh,则会失败。我想出了这个:
{
# This may fail. The "e" option is a bash extension that allows user to
# use arrows to navigate the input. If it fails, we fall back to classic
# read and ignore the error
我正在运行Ubuntu10.04 Lucid,卸载RVM可能是错误的,现在它的接缝不能完全从系统中删除。现在我想再安装一次,但我有麻烦了。
当我尝试执行一些命令行时,会产生奇怪的输出:
# Note that following command lines don't output the version
# (between the word "version" and the word "is") as it should be.
$ rvm
$ rvm -v
> -bash: /usr/local/rvm/scripts/base: No
我启动了一个git-bash窗口,并输入以下命令:
git-bash ~$ echo $BASH_VERSION
4.4.23(1)-release
git-bash ~$ type cd
cd is a shell builtin
git-bash ~$ cd tmp
git-bash ~/tmp$
# Change of directory is NOT refelected on git-bash window title
git-bash ~/tmp$ ssh user@linux
[user@linux ~]$ echo $BASH_VERSION
4.4.20(1)-releas
我正在编写一个带有迭代菜单的脚本来运行命令行。然而,在创建迭代菜单之后,当我想要运行命令时,我得到了一个错误。错误是COMMANDNo这样的文件或目录linux。
#!/bin/bash
ATESTS=("TEST NAME 1" "TESTE NAME 2")
PATH=("test1.xml" "text2.xml")
menu () {
for i in ${!ATESTS[@]}; do
printf "%3d%s) %s\n" $((i+1)) "${OPT[i]:- }
正在尝试编写ansible playbook以在计算机上安装snowsql。获取以下错误:
line 1: syntax error near unexpected token `newline'\n/bin/snowsql-1.2.0-linux_x86_64.bash: line 1: `<?xml version=\"1.0\" encoding=\"UTF-8\"?>'"
尝试手动运行snowsql-1.2.7-linux_x86_64.bash,但出现错误:
ec2-user@ip-xx-xx-xx-xx ~]$ b
/bin/bash: arm-linux-gcc: command not found
/bin/bash: arm-linux-gcc: command not found
dirname: missing operand
Try 'dirname --help' for more information.
Generating include/autoconf.mk
/bin/bash: line 2: arm-linux-gcc: command not found
Generating include/autoconf.mk.dep
/bin/bash: line 2:
我注意到,OSx和Linux之间的printf内置似乎不一样。我的印象是内建物就是内建物。这与我正在处理的任何具体问题无关。我就是解释不了。
OSx
printf '%(+%s)T\n' -2
-bash: printf: `(': invalid format character
which printf
printf is a shell builtin
printf is /usr/bin/printf
Linux
printf '%(+%s)T\n' -2
+1431027100
which printf
printf is a shel
我是非常新的对接和高寒linux。我有一个bash脚本,它在RHEL中运行得很好。我正试图在一个阿尔卑斯-linux v3.11对接容器中运行这个程序。我的bash脚本目前使用curl、jq、mailx。为了涵盖这些依赖项,我有以下Dockerfile:
FROM alpine
RUN apk update && \
apk add bash vim curl jq mailx
构建显示Installing mailx (8.1.1-r1)
但是,在容器中,我看不到mailx。
/ # mailx
/bin/sh: mailx: not found
/ # which
我有一台Linux机(Bash5.1),我需要将以下任务添加到我的脚本中。
哪个Linux命令或Bash语法将计算下一个ASCII字符?
备注-命令语法也可以是Bash /Perl,但此语法必须在我的Bash脚本中。
示例:
input results
a --> the next is b
c --> the next is d
A --> the next is B