webForumDet fria alternativet

Enkel kommandofil

Linux & BSDur Mac OS, Unix, Linux & BSD

6 svar · 476 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Jag ska göra en fil som skriver ut följande när den körs:

Hej användare!
Ha en bra dag!

Där användare ska bytas ut mot den inloggade användaren.

Jag får nästan till det men jag utoppstecknet hamnar på en ny rad hur löser jag det?

#!/bin/bash

clear
echo -e "Hej \c"
whoami
echo "1"
echo "Ha en bra dag!

Ni kanske förstår att jag håller på att lära mig linux för denna kommandofil kan man inte ha någon som helst användning av. :)

Medlem sedan apr. 20007 588 inlägg
#2

Använd $USER-miljövariabeln:

echo -e "Hej $USER!"
echo "Ha en bra dag!"

eller gör så här:

echo -e "Hej "`whoami`"!"
echo "Ha en bra dag!"
Medlem sedan jan. 20013 406 inlägg
#3

Hej jag får $USER att fungera men hur vad är ` för tecken? Vilken knapp trycker man på?

Jag får det inte att fungera i all fall och jag har tryckt på de tecknen som liknar den.

Känner mig asdum

Medlem sedan aug. 20021 752 inlägg
#4

Du måste tycker på det tecknet (Shift+[Tangenten brevid backspace]) och sedan skriva något mer teckan för att det ska synas.

/Viktor

Medlem sedan apr. 20007 588 inlägg
#5

Addeladde skrev:

Hej jag får $USER att fungera men hur vad är ` för tecken?

Jag vet faktiskt inte vad tecknet heter, det är någon specialvariant av enkelfnutt :).

Det som händer i vart fall är att om du skriver ett kommando innanför dessa enkelfnuttar så kommer kommandot att köras och dess utdata hamnar i strängen.

Medlem sedan jan. 20013 406 inlägg
#6

Ok tack!

Medlem sedan aug. 200325 inlägg
#7

` kallas ofta för backtick.

130 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)