相关疑难解决方法(0)

在find -exec中使用别名

我在bash中有一个很长的命令,我不想一直打字,所以我在我的.profile中添加了一个别名

alias foo='...'
Run Code Online (Sandbox Code Playgroud)

现在我想使用find -exec来执行这个别名

find . -exec foo '{}' \;
Run Code Online (Sandbox Code Playgroud)

但找不到foo:

find:foo:没有这样的文件或目录

是否可以在find中使用别名?

bash alias find

17
推荐指数
3
解决办法
3613
查看次数

无法在bash中向array添加元素

我有以下问题.我们假设$@它只包含有效文件.变量file包含当前文件的名称(我当前正在"打开"的文件).然后变量element包含格式的数据file:function.

现在,当变量元素不为空时,应将其放入数组中.这就是问题所在.如果我回声element,它包含我想要的,虽然它没有存储在数组中,所以对于循环不打印任何东西.

我写了两种尝试将元素插入数组的方法,但都不起作用.你能告诉我,我做错了什么,拜托?

我正在使用Linux Mint 16.

#!/bin/bash

nm $@ | while read line
do
  pattern="`echo \"$line\" | sed -n \"s/^\(.*\):$/\1/p\"`"
  if [ -n "$pattern" ]; then
    file="$pattern"  
  fi
  element="`echo \"$line\" | sed -n \"s/^U \([0-9a-zA-Z_]*\).*/$file:\1/p\"`"
  if [ -n "$element" ]; then
    array+=("$element")
    #array[$[${#array[@]}+1]]="$element"
    echo element - "$element"
  fi
done

for j in "${array[@]}"
do
  echo "$j"
done
Run Code Online (Sandbox Code Playgroud)

linux arrays bash

6
推荐指数
1
解决办法
2387
查看次数

标签 统计

bash ×2

alias ×1

arrays ×1

find ×1

linux ×1