我正在尝试使用新值替换 constraint_0_power_limit 文件中的值echo "45000000" | sudo tee constraint_0_power_limit_uw
该文件在/sys/class/powercap/intel-rapl/intel-rapl:0/
当我使用上面的命令时,我得到tee: constraint_0_power_limit_uw: No data available
了错误。
我该如何解决这个错误?
在 Ubuntu 18.04 LTS 的终端中,当我编写此命令时:
echo -e "Hello\\\n"
它给出了这个作为输出:
Hello\n
但它应该打印,正如手册页所说:
Hello\
也就是说,首先是 print Hello
,然后是\
,然后是换行符(然后是另一个换行符)。问题出在哪里?
查看这几个echo -e
命令及其输出:
man420@man420-X542UQ:~$ echo -e "HEllo\a\a\a\a\a\a\\\n"
HEllo\n
man420@man420-X542UQ:~$ echo -e "HEllo\\\n"
HEllo\n
man420@man420-X542UQ:~$ echo -e "HEllo\a\\\n"
HEllo\n
我想从一个脚本回显到另一个脚本,但我不想得到命令的输出,因为我想在另一个脚本中使用这个命令,我需要创建一个脚本来创建 adduser.local 脚本我。
第一个脚本是:
#!/bin/bash
sudo echo "
#!/bin/bash
'lastuser="$(grep home /etc/passwd | cut -d: -f 1 | tail -1)"' " >>
/usr/local/sbin/adduser.local
我从 /usr/local/sbin/adduser.local 得到的是命令的输出,我想按原样复制命令,因为我不想在我想得到的第一个脚本中得到输出在第二个脚本中输出。所以我需要知道如何使用第一个脚本将命令按原样删除到 adduser.local 的 echo 权限。
adduser.local 脚本在第一次运行后需要如下所示
#!/bin/bash
lastuser="$(grep home /etc/passwd | cut -d: -f 1 | tail -1)"
#and now i can use the $lastuser in this script
echo " '$lastuser' ALL = !/usr/bin/apt-get update " >> /etc/sudoers
对于我的任务,我需要显示 shell 文件中的当前行数,下面我已经wc -l
在我的程序中实现了命令,但是我的 shell 回显不是显示行数,而是实际的命令和文件名。我将如何克服这一点?
echo "Hello my name is: Roosevelt Mendieta"
echo "My user name is: $USER"
echo "Todays date and time is: `date`"
echo "This file has: " wc -l mendietaRPgm4.sh "lines of code"
read -p "Please enter any number " number
TIME=2
echo "Your number $number * 2 = $(($number * $TIME))"
我想将 for 循环中的 grep 的结果写入文件,保持原始文件结构。原始文件:
$cat newtest1
some_text
/homes/myself/joz
ivan petrov - 20/10/19
new customer:
/homes/myself/silvia
john smith - 30/11/19
old customer:
some_text
我在 for 循环中使用 grep 并获得以下信息:
$for i in `cat newtest1 | grep customer -B2`; do echo $i; done
/homes/myself/joz
ivan
petrov
-
等文件的结构发生了变化。我尝试了 printf - 结果相同。问题:如何在 for 循环中使用 grep 保持文件的结构?
有人可以解释这个输出吗?
$ echo !
!
$ echo !!
echo echo !
echo !
$
我希望 sedond echo 只写!!
我一直在网上闲逛,看到了有关如何安装新文本编辑器 atom 的信息:
$ curl -sL https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
我只是想知道这些命令实际上在做什么。做什么curl
?
我还阅读sh
了关于运行一些 shell 实例的信息,但是为了什么,这个命令可以实现什么,以及它在这里具体做了什么?
每次我打开一个终端时,它都会以这个开头。
export PATH="/home/name/.rbenv/shims:${PATH}"
export RBENV_SHELL=bash
source '/home/name/.rbenv/libexec/../completions/rbenv.bash'
command rbenv rehash 2>/dev/null
rbenv() {
local command
command="${1:-}"
if [ "$#" -gt 0 ]; then
shift
fi
case "$command" in
rehash|shell)
eval "$(rbenv "sh-$command" "$@")";;
*)
command rbenv "$command" "$@";;
esac
}
export PATH="/home/name/.rbenv/shims:${PATH}"
export RBENV_SHELL=bash
source '/home/name/.rbenv/libexec/../completions/rbenv.bash'
command rbenv rehash 2>/dev/null
rbenv() {
local command
command="${1:-}"
if [ "$#" -gt 0 ]; then
shift
fi
case "$command" in
rehash|shell)
eval "$(rbenv "sh-$command" "$@")";;
*)
command rbenv "$command" "$@";;
esac
}
name@Laptop:~$
我不知道它是错误消息还是只是来自某个文件的一些回声,并且想知道它为什么会回显它。
我正在处理 Bash 脚本,并且某个变量中包含的字符串的长度是我的条件之一。当前字符串是W5u7TBTzF17GGFV8DBJHvgAAAAI
. 最初,我在以下帮助下计算了字符串长度wc -c
:
$ VAR='W5u7TBTzF17GGFV8DBJHvgAAAAI'; echo "$VAR" | wc -c
28
但我的脚本条件[[ ${#VAR} -eq 28 ]]
永远不会通过。然后我决定将字符数加一。实际上字符串长度是 27 个字符,值${#VAR}
也是 27:
$ echo "${#VAR}"
27
所以我想知道 - 这种差异来自哪里?
我有一个简单的echo
打印输出,已添加到我的.bashrc
:
echo "$(tput setaf 2)Wake up....."
sleep 2s
reset
sleep 2s
echo "$(tput setaf 2)Wake up....."
sleep 2s
reset
echo "$(tput setaf 2)Wake up neo....."
sleep 2s
echo "$(tput setaf 2)The Matrix has you......"
sleep 2s
reset
echo "$(tput setaf 2)Follow the white rabbit......"
sleep 2s
reset
cmatrix
这会向终端打印一条消息,但我希望它看起来好像正在输入,字符之间有一致的延迟。