推荐 最新
我头像最美

命令替换得到$((2+3))为什么没有继续扩展?

命令替换得到$((2+3))为什么没有继续扩展? # generateArithmeticExpand generateArithmeticExpand() { echo '$((2+3))' } echo $(generateArithmeticExpand) # => $((2+3)) for i in $(generateArithmeticExpand) do echo $i done # => $((2+3)) 在展开的顺序中"arithmetic expand"在"command substitution"之后进行的,为什么"arithmetic expand"没有执行呢? 如果这里的命令替换得到的是"*",它是会继续进行"filename expand"的。

0
1
0
浏览量203
代码大师

如何解决 su 命令导致的环境变量丢失问题?

现在在编写一个脚本,希望在root用户下收集oracle用户下的一些信息,但是发现在脚本中切换用户执行命令会出现环境变量问题。 [root@oracle01 ~]# su - oracle -c "$ORACLE_HOME/OPatch/opatch lsinventory" -bash: /OPatch/opatch: No such file or directory [root@oracle01 ~]# su - oracle -c "echo $ORACLE_HOME" [root@oracle01 ~]# 如上面的命令所示,ORACLE_HOME是个空。 oracle用户下确实设置了环境变量,但是使用su - oracle -c "echo $ORACLE_HOME"这种样子查看时却显示该变量为空。 要如何才能在切换oracle用户后正确使用$ORACLE_HOME变量呢? [root@oracle01 ~]# su - oracle Last login: Wed Mar 13 16:20:05 CST 2024 on pts/0 [oracle@oracle01 ~]$ cat ~/.bash_profile ...省略一些输出 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 ...省略一些输出 [oracle@oracle01 ~]$ echo $ORACLE_HOME /u01/app/oracle/product/11.2.0/db_1 [oracle@oracle01 ~]$ exit logout [root@oracle01 ~]# [root@oracle01 ~]# su - oracle -c "env|grep ORACLE_HOME" ORACLE_HOME=/01/app/oracle/product/11.2.0/db_1 [root@oracle01 ~]# su - oracle -c "echo $ORACLE_HOME" [root@oracle01 ~]#

0
1
0
浏览量195
MaxClick

如何在 Bash 脚本中根据输入字符串删除子目录或创建文件?

写一个脚本,任意输入一个目录和一个字符串,对输入的字符串进行判断,如果字符串内容等于”ww”,则将该目录下的所有子目录删除,所有子文件拷贝到/var 目录下:如果字符串内容等于”rr”,则在该目录下创建 test1.txt 文件 #!/bin/bash if [ x$1 == x ] then read -p "请输入一个目录:" dir else dir=$1 fi read -p "请输入一个字符串:" str1 echo $str1","$dir if [ -d $dir ] then case $str1 in "ww") for file in `ls $dir` do file_path=$dir/$file if test -f $file_path then cp $file_path /var elif test -d $file_path then rm -rf $file_path fi done ;; "rr") cd $dir &&`touch test1.txt` ;; *) echo "未知的输入,请输入rr或ww..." ;; esac else echo "请输入一个目录..." fi

0
1
0
浏览量205
应该是最帅的鹅

echo "hello world"词法分析之后产生的token中还包含双引号吗?

"echo "hello world""词法分析之后产生的"token"中还包含双引号 吗? echo hello world or echo "hello world" 我感觉应该是包含的吧。因为在扩展操作之后还有一步"quote removal"操作,如果不包含,"quote removal"操作还有什么用呢? 希望可以给出相应的源码 或者其他方法 来说明token中到底包不包含这个引号。

0
1
0
浏览量171
我是张工你呢

想问下这个字符串处理的简单的小脚本怎么写(bash或者vim都好)?

比方说类似 my_fun("abc","defghi","jk"); my_fun("abcdefg","hijklmnop","q"); 类似这样的文字,我想实现类似这样的对齐效果,就是不同行的逗号对齐. my_fun("abc" ,"defghi" ,"jk"); my_fun("abcdefg","hijklmnop","q" ); 以我想得到的脚本写法,大致就是先按照逗号切割字符串成字符串数组,然后统计每一列的最长长度,最后再把字符串数组拼回去,只不过拼回去前在它的尾部添加适当数量的空格... 感觉非常麻烦,我觉得这个需求应该有更灵活的实现.求问,有吗?bash,vim,awk之类的什么都好.

0
1
0
浏览量160
MaxClick

如何在 Git Bash 中获得 Linux 终端体验?

如果"git bash"也可以"apt-get install"就好了,那么我就可以安装更多的命令,并且可以管理这些命令。实际上"git bash"只能执行一些少的可怜的命令,我想在"git bash"中获得linux终端的体验,可以吗?该如何去做?

0
1
0
浏览量131
猫界袁隆平

用system函数调用bash指令会显著降低C的效率吗?

Hello!. 我在程序里写了很多类似 system("echo 123 >> 1.txt"); 这种,来代替本来打开文件进行读写的代码. 我开始担心这会不会降低程序的效率?相比起直接用C的API进行文件读写.

0
1
0
浏览量24