我启动了一个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
我在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
,
~$ bash --version
GNU bash, version 5.1.12(1)-release (x86_64-pc-linux-gnu)
~$ alias bab=python
~$ $(echo bab)
bash: bab: command not found
我希望bab会变成"python",但看起来并非如此。
~$ $(echo alias)
alias bab='python'
alias ls='ls --color=auto'
~$ bab
Python 3.10.1 (main, Dec 11 2021, 17:2
我正在尝试在以下代码的帮助下安装java,但默认情况下它安装在/usr/java/目录中。我希望它安装在一个单独的目录上,例如/u 01/app。
食谱
# Remove old environment then notify new environment to be created
ruby_block "delete_environement" do
block do
editBashrc = Chef::Util::FileEdit.new("/home/oracle/.bash_profile")
editBashrc.search
例如:
$ ls -aF
./ ../ bin/
$ cd tin # with a tee, not bee
bin
$ pwd
/home/user/bin
换句话说,cd猜测我真正的意思是cd bin,并且成功了(嗯?)相应地更改当前目录。我没有在man bash或巴什参考手册中发现这种行为。
我希望Bash生成一个错误,将一些信息写入标准错误,如果没有找到与dir参数匹配的目录(考虑到扩容),则保持当前目录不变。
FYI
$ type cd
cd is a shell builtin
$ ps -p $
PID TTY TIME CMD
46959 pts/8
我试图在bash上运行以下命令:
./home/abcdef/Desktop/jikesrvm/dist/prototype_x86_64-linux/rvm
这给了我一个
bash: ./home/abcdef/Desktop/jikesrvm/dist/production_x86_64-linux/rvm: No such file or directory
rvm是一个bash文件,当我尝试从它自己的文件夹(production_x86_64-linux)运行它时,它确实运行ok。如果我尝试在打开其父文件夹中的终端时运行它,或者甚至打开它的父文件夹时,它也可以正常工作。
为了以防万一,
我对环境变量有问题,我已经将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_
我真的不关心bash别名,但是有可能获得mysql函数的快捷方式吗?比方说,如果我想描述一个表,是否可以只执行ds table_name,而不是键入整个表?
如果重要的话,我将使用以下内容:
bash -版本GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
mysql --版本Ver 14.14 Distrib 5.5.38, for debian-linux-gnu (x86_64) using readline 6.3
我想使用make构建我的程序,然后通过bash脚本启动创建的可执行文件,但是bash找不到可执行文件,尽管它是创建的,我可以手动启动它。该问题仅存在于Gnome-terminal中的linux mint 19上。Edit:确切的错误消息是:"/path/to/my/executable:没有这样的文件或目录“ 我有一个跨平台的项目,我需要运行cmake,然后构建项目,最后启动创建的可执行文件。我有一个bash脚本来自动化这个过程: Edit:它是唯一引起问题的部分;) for TASK in $@; do
if [[ $TASK == "make" ]]; t
我已经为Linux提供了完美的构建脚本。目前,我想适应Cygwin的构建,使它跨平台。问题是构建脚本使用管道重定向,比如|和>,当使用Cygwin的‘bash-c’时,需要用^转义。
我想知道是否有任何解决方案可以避免为Cygwin转义每个管道重定向符号,比如bash命令行选项或env。
例子:
ls -l | tee 1.log在Linux中工作得很好,需要按照下面的方式与Cygwin的bash -c一起使用
ls -l ^| tee 1.log