我注意到,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
在bash中,按C-x C-v会输出外壳的版本,例如
$ # pressing C-x C-v here
GNU bash, version 4.4.12(1)-release (x86_64-unknown-linux-gnu)
在zsh中,什么都不会发生。这同样适用于启动默认$EDITOR的其他“标准”bash组合键,如C-x C-e。
% # pressing C-x C-v here - nothing happens
% zsh --version
zsh 5.3.1 (x86_64-unknown-linux-gnu)
% # ^ I want to the above line
我只是在我的机器上安装了bashv4.1.0。
旧版本在/bin/bash下。有没有一种方法可以使用更新版本的bash而不替换/bin中的旧版本?我希望更新的版本被用作默认版本。
$ which bash
/bin/bash
$ bash --version
GNU bash, version 3.00.15(1)-release (i686-redhat-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.
$ ~/bash/bash-4.1/bash --version
GNU bash, version 4.1.0(1)
我对环境变量有问题,我已经将GRAALVM_HOME设置为22.3版本,但出于某种原因,它一直检测22.1,我使用/etc/profile.d/jdk_ some . is文件来设置myh首选项,但是就我所能看到的文件/etc/profile.d/apps with .sh在覆盖我的首选项之前正在做一些事情。这是终端输出
linux@alandec:~$ native-image --version
GraalVM 22.1.0.1 Java 17 CE (Java Version 17.0.3+7-jvmci-22.1-b06)
linux@alandec:~$ echo $GRAALVM_
我一直在尝试处理sh,但出现了多个问题。我需要Docker Container中的/bin/bash。但是当我运行这个命令时,它给出了错误OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown。我想我需要把bin/bash放到容器里。但是不知道怎么做?
终端命令:sudo docke
下面是我安装zulu jdk的方式:
wget https://cdn.azul.com/zulu/bin/zulu18.32.13-ca-jdk18.0.2.1-linux_x64.tar.gz
mv zulu18.32.13-ca-jdk18.0.2.1-linux_x64.tar.gz /opt
cd /opt
tar -zxvf zulu18.32.13-ca-jdk18.0.2.1-linux_x64.tar.gz
vim ~/.bash_profile
export JAVA_HOME=/opt/zulu18.32.13-ca-jdk18.0.2.1-linux_x64
ex
我正在关注。我使用Amazon Linux AMI 2018.03在亚马逊网络服务EC2上运行Apache。本指南中的第一步是运行:
sudo systemctl is-enabled httpd
我得到"bash: systemctl: command not found“。我怀疑我可能运行的是Amazon Linux,而不是Amazon Linux 2。
我在ubuntu12.04中使用android-ndk-r9d-linux-x86的ndk来调试android本机应用程序"hello-jni",但是它收到了这个错误。
WARNING: The shell running this script isn't bash. Although we try to avoid bashism in scripts, things can happen.
.../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: 143: .../a
我在Linux中使用bash脚本迁移数据库输出文件,我想知道如何在bash脚本中执行Linux命令时处理错误。
例如,通常情况下,当我想循环遍历目录中的文件时,我会这样写它
# list files and grep results for .sql extension
for FILE in `ls | grep ".sql"`
do
echo "found file: $FILE"
done
它工作得很好,因为grep如果有.sql扩展名或不返回任何内容,就会返回文件名。
我想知道如何使用返回结果或错误的Linux命令,例如
ls ./*.sql
,
我有两个系统,一个是rhel4,另一个是rhel6。在编译过程中,我想相应地区分和编译。
我的方法:
在rhel5机中
-bash-4.1$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5
在rhel4机中
-bash-3.00$ cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4
所以我想用这样的东西-
OSVERSION = cat /etc/redhat-release | cut -d "." -f 1 |